CN108933766B - 一种提高设备id安全性的方法和客户端 - Google Patents

一种提高设备id安全性的方法和客户端 Download PDF

Info

Publication number
CN108933766B
CN108933766B CN201710385686.4A CN201710385686A CN108933766B CN 108933766 B CN108933766 B CN 108933766B CN 201710385686 A CN201710385686 A CN 201710385686A CN 108933766 B CN108933766 B CN 108933766B
Authority
CN
China
Prior art keywords
hash value
key
server
encrypted
equipment
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
CN201710385686.4A
Other languages
English (en)
Other versions
CN108933766A (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.)
Yami Technology Guangzhou 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 CN201710385686.4A priority Critical patent/CN108933766B/zh
Publication of CN108933766A publication Critical patent/CN108933766A/zh
Application granted granted Critical
Publication of CN108933766B publication Critical patent/CN108933766B/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
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint

Landscapes

  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

本发明实施例提供了一种提高设备ID安全性的方法和客户端,用于提高设备ID的安全性。所述方法包括:从cookie中获得二次加密的设备ID、第一密钥以及预先根据二次加密的所述设备ID和所述第一密钥而获得的第一哈希值;基于所述第一密钥对当前获得的二次加密的所述设备ID进行解密,获得所述设备ID;根据当前获得的二次加密的所述设备ID和所述第一密钥获得第二哈希值;向服务器发送所述设备ID、所述第一哈希值和所述第二哈希值。

Description

一种提高设备ID安全性的方法和客户端
技术领域
本发明涉及计算机技术领域,尤其涉及一种提高设备ID安全性的方法和客户端。
背景技术
在相关技术中,服务器基于客户端的设备ID(身份标识,IDentity)辨识并验证各个客户端。举例来说,通过设备ID验证用户身份的合法性,以设备ID数量统计应用程序安装量,或者以设备ID过滤重复参与抽奖的用户等。设备ID为客户端根据一定算法得到的字符串。
然而,本申请发明人在实现本申请实施例中发明技术方案的过程中,发现上述技术至少存在如下技术问题:不法分子破译生成设备ID的算法,生成伪设备ID,且服务器又无法识别出伪设备ID,导致基于设备ID导出的各种结果不准确。所以,现有技术存在如何提高设备ID安全性的技术问题。
发明内容
本发明实施例提供了一种提高设备ID安全性的方法和客户端,用于提高设备ID的安全性。
第一方面,本发明提供了一种提高设备ID安全性的方法,应用于客户端,所述方法包括:
从小型文字档案cookie中获得二次加密的设备ID、第一密钥以及预先根据二次加密的所述设备ID和所述第一密钥而获得的第一哈希值;
基于所述第一密钥对当前获得的二次加密的所述设备ID进行解密,获得所述设备ID;
根据当前获得的二次加密的所述设备ID和所述第一密钥获得第二哈希值;
向服务器发送所述设备ID、所述第一哈希值和所述第二哈希值,以使所述服务器判断所述设备ID是否与多个历史记录的设备ID相同,当所述设备ID与多个所述历史记录的设备ID均不一致时,判断所述第二哈希值与所述第一哈希值是否一致,当所述第二哈希值与所述第一哈希值不一致时,确定所述设备ID不合法。
可选的,在从小型文字档案cookie中获得二次加密的设备ID、第一密钥以及预先根据二次加密的所述设备ID和所述第一密钥而获得的第一哈希值之前,所述方法还包括:
接收所述服务器发送的一次加密的所述设备ID以及一次加密所使用的所述第一密钥;
按照预设加密方式对一次加密的所述设备ID进行二次加密,获得二次加密的所述设备ID;
将二次加密的所述设备ID和所述第一密钥存储为所述小型文字档案cookie;
获得所述第一哈希值;
将所述第一哈希值存储为所述小型文字档案cookie。
可选的,获得所述第一哈希值,包括:
根据二次加密的所述设备ID和所述第一密钥获得所述第一哈希值。
可选的,获得所述第一哈希值,包括:
接收所述服务器发送的所述第一哈希值。
可选的,基于所述第一密钥对当前获得的二次加密的所述设备ID进行解密,获得所述设备ID,包括:
按照所述预设加密方式对应的预设解密方式对二次加密的所述设备ID进行解密,获得一次加密的所述设备ID;
基于当前获得的所述第一密钥对一次加密的所述设备ID进行解密,获得所述设备ID。
第二方面,本发明提供了一种客户端,包括:
第一获得模块,用于从小型文字档案cookie中获得二次加密的设备ID、第一密钥以及预先根据二次加密的所述设备ID和所述第一密钥而获得的第一哈希值;
第二获得模块,用于基于所述第一密钥对当前获得的二次加密的所述设备ID进行解密,获得所述设备ID;
第三获得模块,用于根据当前获得的二次加密的所述设备ID和所述第一密钥获得第二哈希值;
发送模块,用于向服务器发送所述设备ID、所述第一哈希值和所述第二哈希值,以使所述服务器判断所述设备ID是否与多个历史记录的设备ID相同,当所述设备ID与多个所述历史记录的设备ID均不一致时,判断所述第二哈希值与所述第一哈希值是否一致,当所述第二哈希值与所述第一哈希值不一致时,确定所述设备ID不合法。
可选的,所述客户端还包括:
接收模块,用于在从小型文字档案cookie中获得二次加密的设备ID、第一密钥以及预先根据二次加密的所述设备ID和所述第一密钥而获得的第一哈希值之前,接收所述服务器发送的一次加密的所述设备ID以及一次加密所使用的所述第一密钥;
二次加密模块,用于按照预设加密方式对一次加密的所述设备ID进行二次加密,获得二次加密的所述设备ID;
第一存储模块,用于将二次加密的所述设备ID和所述第一密钥存储为所述小型文字档案cookie;
第四获得模块,用于获得所述第一哈希值;
第二存储模块,用于将所述第一哈希值存储为所述小型文字档案cookie。
可选的,所述第四获得模块用于根据二次加密的所述设备ID和所述第一密钥获得所述第一哈希值;或者
接收所述服务器发送的所述第一哈希值。
可选的,所述第二获得模块用于按照所述预设加密方式对应的预设解密方式对二次加密的所述设备ID进行解密,获得一次加密的所述设备ID;基于当前获得的所述第一密钥对一次加密的所述设备ID进行解密,获得所述设备ID。
第三方面,本发明提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面所述方法的步骤。
第四方面,本发明提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现第一方面所述方法的步骤。
本申请实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:
在本发明实施例的技术方案中,首先从cookie中获得二次加密的设备ID、第一密钥以及预先根据二次加密的所述设备ID和所述第一密钥而获得的第一哈希值,然后基于所述第一密钥解密出所述设备ID,以及根据当前获得的二次加密的所述设备ID和所述第一密钥获得第二哈希值,最后,向服务器发送所述设备ID、所述第一哈希值和所述第二哈希值,以使所述服务器判断所述设备ID是否与多个历史记录的设备ID相同,当所述设备ID与多个所述历史记录的设备ID均不一致时,进一步判断所述第二哈希值与所述第一哈希值是否一致,当所述第二哈希值与所述第一哈希值不一致时,确定所述设备ID不合法。由于所述第一哈希值是预先根据二次加密的所述设备ID和所述第一密钥获得,如果不法分子在客户端修改或伪造所述设备ID,将导致二次加密的所述设备ID与获得所述第一哈希值时所使用的二次加密的所述设备ID不同,进一步将导致所述第二哈希值与所述第一哈希值不同。所以,如果所述服务器判断所述第二哈希值与所述第一哈希值不同,那么即使所述设备ID与所述历史记录的设备ID不同,也会认为所述设备ID不安全。故而,通过本发明实施例的技术方案就识别出了伪设备ID,提高了设备ID的安全性。
附图说明
图1为本发明实施例中客户端侧提高设备ID安全性的方法流程图;
图2为本发明实施例中客户端的结构示意图。
具体实施方式
本发明实施例提供了一种提高设备ID安全性的方法和客户端,用于提高设备ID的安全性。
为了解决上述技术问题,本发明提供的技术方案总体思路如下:
在本发明实施例的技术方案中,首先从cookie中获得二次加密的设备ID、第一密钥以及预先根据二次加密的所述设备ID和所述第一密钥而获得的第一哈希值,然后基于所述第一密钥解密出所述设备ID,以及根据当前获得的二次加密的所述设备ID和所述第一密钥获得第二哈希值,最后,向服务器发送所述设备ID、所述第一哈希值和所述第二哈希值,以使所述服务器判断所述设备ID是否与多个历史记录的设备ID相同,当所述设备ID与多个所述历史记录的设备ID均不一致时,进一步判断所述第二哈希值与所述第一哈希值是否一致,当所述第二哈希值与所述第一哈希值不一致时,确定所述设备ID不合法。由于所述第一哈希值是预先根据二次加密的所述设备ID和所述第一密钥获得,如果不法分子在客户端修改或伪造所述设备ID,将导致二次加密的所述设备ID与获得所述第一哈希值时所使用的二次加密的所述设备ID不同,进一步将导致所述第二哈希值与所述第一哈希值不同。所以,如果所述服务器判断所述第二哈希值与所述第一哈希值不同,那么即使所述设备ID与所述历史记录的设备ID不同,也会认为所述设备ID不安全。故而,通过本发明实施例的技术方案就识别出了伪设备ID,提高了设备ID的安全性。
下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解本申请实施例以及实施例中的具体特征是对本申请技术方案的详细的说明,而不是对本申请技术方案的限定,在不冲突的情况下,本申请实施例以及实施例中的技术特征可以相互组合。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本发明提供了一种提高设备ID安全性的方法,应用于客户端。客户端通过浏览器接入服务器,进而用户在客户端的浏览器中浏览服务器发送给客户端的数据和信息。
在本发明实施例中,为了提高设备ID的安全性,将由服务器为各个客户端分配设备ID,而不由客户端自行生成设备ID。为了更加清楚地介绍本发明实施的技术方案,下面先对服务器分配设备ID的方法进行介绍。
当客户端需要获得设备ID时,客户端向服务器发送获取设备ID的请求。服务器接收获取设备ID的请求后,获取服务器的系统时间、随机数、请求中携带的用户名等,基于上述多个信息生成设备ID。
在具体实现过程中,服务器可以使用系统自带的函数生成设备ID。例如通过uuid_generate函数生成设备ID,具体代码如下:
uuid_t uu;
Uuid_generate(uu);
或者,服务器也可以利用第三方库来生成设备ID。例如,使用Boost库的random_generator函数生成设备ID,具体代码如下:
uuid newuuid=random_generator();
其中,Boost库是一个可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之一。Boost库是为C++语言标准库提供扩展的一些C++程序库的总称。
由于服务器比客户端更安全,并且由管理员管理,因此本发明实施例通过服务器来生成设备ID,可以增加不法分子破获生成设备ID算法的难度,由此提高设备ID的安全性。并且,由服务器生成设备ID,还便于服务器管理生成设备ID的算法。
另外,在生成设备ID之前、生成设备ID的同时或者设备生成ID之后,服务器获取一个随机数作为加密设备ID的第一密钥。然后,服务器基于第一密钥对设备ID进行一次加密,获得一次加密的设备ID。
举例来说,服务器使用TES(高级加密标准,Advanced Encryption Standard)方式对设备ID进行一次加密,具体通过如下代码实现:
KEY 1=rand();//随机rand函数生成第一密钥KEY1;
Encrypt_uuid=AES.encrypt(uuid,KEY1);//通过AES加密函数AES.encrypt()对uuid(即设备ID)加密,获得加密结果Encrypt_uuid(即一次加密的设备ID);
接着,服务器将一次加密的设备ID发送到客户端,以及,将第一密钥也发送到客户端。
在本发明实施例中,使用随机数作为第一密钥,使得不同客户端的第一密钥不完全相同,使得不法分子不易大规模破获多个客户端的第一密钥,进而修改或伪造大量设备ID,由此提高了设备ID的安全性。
下面对客户端侧提高设备ID安全性的方法进行介绍。请参考图1,为客户端侧的提高设备ID安全性的方法流程图,该方法包括:
S101:从小型文字档案cookie中获得二次加密的设备ID、第一密钥以及预先根据二次加密的所述设备ID和所述第一密钥而获得的第一哈希值;
S102:基于所述第一密钥对当前获得的二次加密的所述设备ID进行解密,获得所述设备ID;
S103:根据当前获得的二次加密的所述设备ID和所述第一密钥获得第二哈希值;
S104:向服务器发送所述设备ID、所述第一哈希值和所述第二哈希值,以使所述服务器判断所述设备ID是否与多个历史记录的设备ID相同,当所述设备ID与多个所述历史记录的设备ID均不一致时,判断所述第二哈希值与所述第一哈希值是否一致,当所述第二哈希值与所述第一哈希值不一致时,确定所述设备ID不合法。
可选的,在S101之前,还包括:
接收所述服务器发送的一次加密的所述设备ID以及一次加密所使用的所述第一密钥;
按照预设加密方式对一次加密的所述设备ID进行二次加密,获得二次加密的所述设备ID;
将二次加密的所述设备ID和所述第一密钥存储为所述小型文字档案cookie;
获得所述第一哈希值;
将所述第一哈希值存储为所述小型文字档案cookie。
具体来讲,客户端接收服务器发送的一次加密的设备ID和第一密钥。由于在本发明实施例中,客户端通过浏览器接入服务器,那么通过浏览器接收到的一次加密的设备ID和第一密钥将存储为cookie。
具体来讲,在存储一次加密的设备ID时,为了提高设备ID在客户端中的安全性,先按照预设加密方式对一次加密的设备ID进行二次加密。其中,预设加密方式由服务器预先指定。在具体实现过程中,预设加密方式例如为AES、TEA(微型加密算法,Tiny EncryptionAlgorithm)和DEA(数据加密算法,Data Encryption Algorithm)等等,本发明不做具体限制。
可选的,在存储第一密钥时,可以直接存储第一密钥,也可以先对第一密钥加密,然后再将加密后的第一密钥存储到cookie中。
为了避免不法分子获得二次加密的设备ID的同时获得第一密钥,在本发明实施例中,将二次加密的设备ID和第一密钥分别存储为不同cookie。那么,即使不法分子获得的二次加密的设备ID,由于并不能同时获得第一密钥的,故而无法解密出设备ID,由此提高了设备ID的安全性。
一个具体的例子,通过如下代码存储二次加密的设备ID和第一密钥:
TeaEncrypt_uuid=TEA.encrypt(Encrypt_uuid,KEY2);//利用TEA对Encrypt_uuid(即一次加密的设备ID)进行加密,KEY2为二次加密所使用的第二密钥;
Cookie uuid=new Cookie(“uuid”,TeaEncrypt_uuid);//创建命名为“uuid”的cookie存储TeaEncrypt_uuid(即二次加密的设备ID);
addCookie(uuid);//添加名为“uuid”的Cookie;
Cookie key=new Cookie(“KEY1”,KEY1);//创建命名为“key”的cookie存储第一密钥KEY1;
addCookie(key);//添加名为“key”的Cookie;
另外,客户端还需要获得第一哈希值。本发明实施例中的第一哈希值由二次加密的设备ID和第一密钥通过哈希加密方式获得。客户端将第一哈希值也存储为cookie。并且,第一哈希值、二次加密的设备ID和第一密钥存储为不同的cookie为较佳选择。
在本发明实施例中,获得第一哈希值包括但不限于以下两种实施方式。
在第一种实施方式中,获得第一哈希值包括如下过程:
根据二次加密的所述设备ID和所述第一密钥获得所述第一哈希值。
具体来讲,客户端对二次加密的设备ID和第一密钥进行哈希加密,由此获得第一哈希值。在具体实现过程中,可以具体使用MD5(信息摘要算法第五版,Message DigestAlgorithm)或MD4(信息摘要算法第四版,Message Digest Algorithm)等哈希加密方式对二次加密的设备ID和第一密钥进行哈希加密。以MD5为例来说明,通过如下代码获得并存储第一哈希值:
MD5Result=MD5.create(TeaEncrypt_uuid+KEY1);//通过MD5.create()函数对TeaEncrypt_uuid和KEY1进行哈希加密,结果MD5Result为第一哈希值;
Cookie uuid=new Cookie(“md5”,MD5Result);//创建命名为“md5”的cookie存储第一哈希值;
addCookie(uuid);//添加名为“md5”的Cookie;
通过上述过程,就获得了第一哈希值。
另外,本领域技术人员应当理解,为了保证第一哈希值的真实性,客户端应当在接收到服务器发送的一次加密的设备ID和第一密钥后及时获得并存储第一哈希值,缩短一次加密的设备ID和第一密钥的暴露时间,以避免不法分子修改或伪造设备ID,导致获得的第一哈希值丧失真实性。
在第二种实施方式中,获得第一哈希值包括如下过程:
接收所述服务器发送的所述第一哈希值。
具体来讲,客户端对设备ID进行二次加密的预设加密方式是由服务器指定的,换言之,服务器知晓客户端将对设备ID进行怎样的二次加密,并且服务器能够自行预设加密方式获得二次加密的设备ID。因此,服务器对一次加密的设备ID执行预设加密方式,进而得到二次加密的设备ID。然后,服务器再对二次加密的设备ID和第一密钥进行哈希加密,获得第一哈希值。进而,服务器将第一哈希值发送给客户端。
因此,在第二种实施方式中,客户端从服务器接收第一哈希值即可。然后,将接收到的第一哈希值存储为cookie。
在具体实现过程中,本发明所属领域的普通技术人员可以根据实际选择任意一种实施方式,本发明不做具体限制。
当需要向服务器发送客户端的设备ID时,在S101中,客户端从cookie中获得二次加密的设备ID、第一密钥和第一哈希值。具体来讲,客户端知晓存储二次加密的设备ID的cookie的名字、存储第一密钥的cookie的名字和存储第一哈希值的cookie的名字,进而基于cookie的名字读取相应cookie,从而获得二次加密的设备ID、第一密钥和第一哈希值。
沿用上文中的例子,存储二次加密的设备ID的cookie名为“uuid”,存储第一密钥的cookie名为“key”,存储第一哈希值的cookie名为“md5”。通过如下代码获得二次加密的设备ID、第一密钥和第一哈希值:
Figure BDA0001306295110000111
通过上述代码,就获得了二次加密的设备ID、第一密钥和第一哈希值。
接下来,在S102中,基于第一密钥对当前获得的二次加密的设备ID进行解密,获得设备ID。在本发明实施例中,具体通过如下过程获得设备ID:
按照所述预设加密方式对应的预设解密方式对二次加密的所述设备ID进行解密,获得一次加密的所述设备ID;
基于当前获得的所述第一密钥对一次加密的所述设备ID进行解密,获得所述设备ID。
具体来讲,客户端首先按照预设加密方式并根据第二密钥对二次加密的设备ID进行解密,进而获得一次加密的设备ID。对于第一密钥,如果在存储第一密钥时对第一密钥也进行了加密,则对应地解密出第一密钥。如果第一密钥并没有加密,而是直接存储,那么则直接读取第一密钥。进一步,利用第一密钥对一次加密的设备ID进行解密,进而获得设备ID。
另外,在S103中,还需要根据当前获得的二次加密的设备ID和第一密钥获得第二哈希值。
具体来讲,获得第二哈希值的哈希加密方式与获得第一哈希值的哈希加密方式须相同。客户端对当前获得的二次加密的设备ID和第一密钥执行相同的哈希加密方式,进而获得第二哈希值。由于前文中已经介绍了获得第一哈希值的方式,因此这里就不在重复赘述如何获得第二哈希值了。
在具体实现过程中,S102可以在S103之前执行,或者S103在S102之前执行,或者S102与S103同时执行,本发明不做具体限制。
最后,在S104中,客户端将设备ID、第一哈希值和第二哈希值发送给服务器。
接下来介绍服务器如何判断设备ID是否安全。
服务器判断当前收到的设备ID是否与多个历史记录的设备ID相同。具体来讲,服务器对接收到的每个设备ID进行验证,如果设备ID为合法的设备ID,则服务器记录下该设备ID。后续再接收到的设备ID,则需要首先与历史记录的设备ID进行对比。
如果当前收到的设备ID与其中一个历史记录的设备ID相同,表示统计过该设备ID(例如统计应用程序安装数量或参与抽奖的用户等),不再执行后续步骤。
而如果当前收到的设备ID与所有历史记录的设备ID均不一致时,本发明实施例为了进一步验证该设备ID是否合法,将对比第一哈希值和第二哈希值是否一致。如果第一哈希值与第二哈希值一致,表示从存储第一哈希值到生成第二哈希值的时间段内,设备ID没有发生过修改或伪造,因此服务器当前收到的设备ID是安全的。反之,如果第一哈希值与第二哈希值不一致,表示从存储第一哈希值到生成第二哈希值的时间段内,设备ID发生了修改或伪造,因此服务器当前收到的设备ID是不安全的。
可见,在设备ID与多个历史记录的设备ID均不相同时,如果第二哈希值与第一哈希值不一致,服务器也会判断当前收到的设备ID不安全。那么,即使不法分子修改或伪造设备ID,由于其修改或伪造将导致第二哈希值与第一哈希值不同,因此服务器能够识别出设备ID的不安全,由此,提高了设备ID的不安全性。
可选的,如果第一哈希值由服务器发送给客户端,作为一种可选的实施例,服务器在判断第二哈希值与第一哈希值是否一致之前,还可以包括:
判断当前收到的第一哈希值与发送给客户端的第一哈希值是否相等;
若当前收到的第一哈希值与发送给客户端的第一哈希值不相等,则判断所述第二哈希值与所述第一哈希值是否一致具体为:判断第二哈希值是否与发送给客户端的第一哈希值。
具体来讲,服务器向客户端发送第一哈希值时,会记录该发送的第一哈希值。当服务器接收客户端发送的第一哈希值时,对比当前收到的第一哈希值和发送给客户端的第一哈希值是否一致,进而判断客户端的第一哈希值是否被修改过,甚至当前收到的第一哈希值是否为伪造的。
如果两个第一哈希值一致,表示当前收到的第一哈希值就是服务器发送给客户端的第一哈希值,故而以当前收到的第一哈希值为基准,进一步判断第二哈希值是否与该第一哈希值一致。反之,如果两个第一哈希值不一致,表示当前收到的第一哈希值不是服务器发送给客户端的第一哈希值。为了验证设备ID的安全性,服务器以发送给客户端的第一哈希值为基准,进一步判断第二哈希值是否与发送给客户端的第一哈希值一致。
由上述描述可知,当当前收到的第一哈希值与发送给客户端的第一哈希值不一致时,服务器以发送给客户端的第一哈希值与第二哈希值进行比较,从而避免了不法分子修改第一哈希值而无法识别出设备ID不安全性,进而提高了设备ID的安全性。
基于与前述实施例中客户端侧提高设备ID安全性的方法同样的发明构思,本发明还提供一种客户端,如图2所示,包括:
第一获得模块101,用于从小型文字档案cookie中获得二次加密的设备ID、第一密钥以及预先根据二次加密的所述设备ID和所述第一密钥而获得的第一哈希值;
第二获得模块102,用于基于所述第一密钥对当前获得的二次加密的所述设备ID进行解密,获得所述设备ID;
第三获得模块103,用于根据当前获得的二次加密的所述设备ID和所述第一密钥获得第二哈希值;
发送模块104,用于向服务器发送所述设备ID、所述第一哈希值和所述第二哈希值,以使所述服务器判断所述设备ID是否与多个历史记录的设备ID相同,当所述设备ID与多个所述历史记录的设备ID均不一致时,判断所述第二哈希值与所述第一哈希值是否一致,当所述第二哈希值与所述第一哈希值不一致时,确定所述设备ID不合法。
可选的,所述客户端还包括:
接收模块,用于在从小型文字档案cookie中获得二次加密的设备ID、第一密钥以及预先根据二次加密的所述设备ID和所述第一密钥而获得的第一哈希值之前,接收所述服务器发送的一次加密的所述设备ID以及一次加密所使用的所述第一密钥;
二次加密模块,用于按照预设加密方式对一次加密的所述设备ID进行二次加密,获得二次加密的所述设备ID;
第一存储模块,用于将二次加密的所述设备ID和所述第一密钥存储为所述小型文字档案cookie;
第四获得模块,用于获得所述第一哈希值;
第二存储模块,用于将所述第一哈希值存储为所述小型文字档案cookie。
可选的,所述第四获得模块用于根据二次加密的所述设备ID和所述第一密钥获得所述第一哈希值;或者
接收所述服务器发送的所述第一哈希值。
可选的,所述第二获得模块102用于按照所述预设加密方式对应的预设解密方式对二次加密的所述设备ID进行解密,获得一次加密的所述设备ID;基于当前获得的所述第一密钥对一次加密的所述设备ID进行解密,获得所述设备ID。
前述图1实施例中的提高设备ID安全性的方法的各种变化方式和具体实例同样适用于本实施例的客户端,通过前述对提高设备ID安全性的方法的详细描述,本领域技术人员可以清楚的知道本实施例中客户端的实施方法,所以为了说明书的简洁,在此不再详述。
基于与前述实施例中客户端侧提高设备ID安全性的方法同样的发明构思,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前文任一所述方法的步骤。
基于与前述实施例中客户端侧提高设备ID安全性的方法同样的发明构思,本发明还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现前文任一所述方法的步骤。
本申请实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:
在本发明实施例的技术方案中,首先从cookie中获得二次加密的设备ID、第一密钥以及预先根据二次加密的所述设备ID和所述第一密钥而获得的第一哈希值,然后基于所述第一密钥解密出所述设备ID,以及根据当前获得的二次加密的所述设备ID和所述第一密钥获得第二哈希值,最后,向服务器发送所述设备ID、所述第一哈希值和所述第二哈希值,以使所述服务器判断所述设备ID是否与多个历史记录的设备ID相同,当所述设备ID与多个所述历史记录的设备ID均不一致时,进一步判断所述第二哈希值与所述第一哈希值是否一致,当所述第二哈希值与所述第一哈希值不一致时,确定所述设备ID不合法。由于所述第一哈希值是预先根据二次加密的所述设备ID和所述第一密钥获得,如果不法分子在客户端修改或伪造所述设备ID,将导致二次加密的所述设备ID与获得所述第一哈希值时所使用的二次加密的所述设备ID不同,进一步将导致所述第二哈希值与所述第一哈希值不同。所以,如果所述服务器判断所述第二哈希值与所述第一哈希值不同,那么即使所述设备ID与所述历史记录的设备ID不同,也会认为所述设备ID不安全。故而,通过本发明实施例的技术方案就识别出了伪设备ID,提高了设备ID的安全性。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (7)

1.一种提高设备ID安全性的方法,应用于客户端,其特征在于,所述方法包括:
客户端从小型文字档案cookie中获得二次加密的设备ID、第一密钥以及预先根据二次加密的所述设备ID和所述第一密钥而获得的第一哈希值,所述第一哈希值、二次加密的设备ID和第一密钥分别存储为不同cookie,所述设备ID是服务器接收获取设备ID的请求后,基于服务器的系统时间、随机数、请求中携带的用户名生成,所述预先根据二次加密的所述设备ID和所述第一密钥而获得的第一哈希值,包括:接收所述服务器发送的所述第一哈希值,或者,客户端在接收到服务器发送的一次加密的设备ID和第一密钥后对二次加密的设备ID和第一密钥进行哈希加密获得第一哈希值;
基于所述第一密钥对当前获得的二次加密的所述设备ID进行解密,获得所述设备ID;
客户端根据当前获得的二次加密的所述设备ID和所述第一密钥获得第二哈希值;
向服务器发送所述设备ID、所述第一哈希值和所述第二哈希值,以使所述服务器判断所述设备ID是否与多个历史记录的设备ID相同,包括:所述服务器对接收到的每个设备ID进行验证,如果所述接收到的设备ID为合法的设备ID,则所述服务器记录下所述接收到的设备ID,后续所述服务器再接收到的设备ID,首先与历史记录的设备ID进行对比;当后续所述服务器再接收到的设备ID与其中一个历史记录的设备ID相同,表示统计过所述后续所述服务器再接收到的设备ID,不再执行后续步骤;当所述后续所述服务器再接收到的设备ID与多个所述历史记录的设备ID均不一致时,判断所述第二哈希值与所述第一哈希值是否一致,当所述第二哈希值与所述第一哈希值不一致时,确定所述后续所述服务器再接收到的设备ID不合法。
2.如权利要求1所述的方法,其特征在于,在从小型文字档案cookie中获得二次加密的设备ID、第一密钥以及预先根据二次加密的所述设备ID和所述第一密钥而获得的第一哈希值之前,所述方法还包括:
接收所述服务器发送的一次加密的所述设备ID以及一次加密所使用的所述第一密钥;
按照预设加密方式对一次加密的所述设备ID进行二次加密,获得二次加密的所述设备ID;
将二次加密的所述设备ID和所述第一密钥存储为所述小型文字档案cookie;
获得所述第一哈希值;
将所述第一哈希值存储为所述小型文字档案cookie。
3.如权利要求1所述的方法,其特征在于,基于所述第一密钥对当前获得的二次加密的所述设备ID进行解密,获得所述设备ID,包括:
按照预设加密方式对应的预设解密方式对二次加密的所述设备ID进行解密,获得一次加密的所述设备ID;
基于当前获得的所述第一密钥对一次加密的所述设备ID进行解密,获得所述设备ID。
4.一种客户端,其特征在于,包括:
第一获得模块,用于客户端从小型文字档案cookie中获得二次加密的设备ID、第一密钥以及预先根据二次加密的所述设备ID和所述第一密钥而获得的第一哈希值,所述第一哈希值、二次加密的设备ID和第一密钥分别存储为不同cookie,所述设备ID是服务器接收获取设备ID的请求后,基于服务器的系统时间、随机数、请求中携带的用户名生成,所述预先根据二次加密的所述设备ID和所述第一密钥而获得的第一哈希值,包括:接收所述服务器发送的所述第一哈希值,或者,客户端在接收到服务器发送的一次加密的设备ID和第一密钥后对二次加密的设备ID和第一密钥进行哈希加密获得第一哈希值;
第二获得模块,用于基于所述第一密钥对当前获得的二次加密的所述设备ID进行解密,获得所述设备ID;
第三获得模块,用于客户端根据当前获得的二次加密的所述设备ID和所述第一密钥获得第二哈希值;
发送模块,用于向服务器发送所述设备ID、所述第一哈希值和所述第二哈希值,以使所述服务器判断所述设备ID是否与多个历史记录的设备ID相同,包括:所述服务器对接收到的每个设备ID进行验证,如果所述接收到的设备ID为合法的设备ID,则所述服务器记录下所述接收到的设备ID,后续所述服务器再接收到的设备ID,首先与历史记录的设备ID进行对比;当后续所述服务器再接收到的设备ID与其中一个历史记录的设备ID相同,表示统计过所述后续所述服务器再接收到的设备ID,不再执行后续步骤;当所述后续所述服务器再接收到的设备ID与多个所述历史记录的设备ID均不一致时,判断所述第二哈希值与所述第一哈希值是否一致,当所述第二哈希值与所述第一哈希值不一致时,确定所述后续所述服务器再接收到的设备ID不合法。
5.如权利要求4所述的客户端,其特征在于,所述客户端还包括:
接收模块,用于在从小型文字档案cookie中获得二次加密的设备ID、第一密钥以及预先根据二次加密的所述设备ID和所述第一密钥而获得的第一哈希值之前,接收所述服务器发送的一次加密的所述设备ID以及一次加密所使用的所述第一密钥;
二次加密模块,用于按照预设加密方式对一次加密的所述设备ID进行二次加密,获得二次加密的所述设备ID;
第一存储模块,用于将二次加密的所述设备ID和所述第一密钥存储为所述小型文字档案cookie;
第四获得模块,用于获得所述第一哈希值;
第二存储模块,用于将所述第一哈希值存储为所述小型文字档案cookie。
6.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-3任一项所述方法的步骤。
7.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1-3任一项所述方法的步骤。
CN201710385686.4A 2017-05-26 2017-05-26 一种提高设备id安全性的方法和客户端 Active CN108933766B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710385686.4A CN108933766B (zh) 2017-05-26 2017-05-26 一种提高设备id安全性的方法和客户端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710385686.4A CN108933766B (zh) 2017-05-26 2017-05-26 一种提高设备id安全性的方法和客户端

Publications (2)

Publication Number Publication Date
CN108933766A CN108933766A (zh) 2018-12-04
CN108933766B true CN108933766B (zh) 2021-11-09

Family

ID=64450494

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710385686.4A Active CN108933766B (zh) 2017-05-26 2017-05-26 一种提高设备id安全性的方法和客户端

Country Status (1)

Country Link
CN (1) CN108933766B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109657493A (zh) * 2018-12-17 2019-04-19 郑州云海信息技术有限公司 一种信息处理方法和装置
CN111193706B (zh) * 2019-11-25 2022-03-15 泰康保险集团股份有限公司 一种身份验证方法及装置
CN114943205A (zh) * 2022-06-08 2022-08-26 北京金橙子科技股份有限公司 一种身份识别编码uuid生成方法、系统、存储介质及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103401957A (zh) * 2013-08-07 2013-11-20 五八同城信息技术有限公司 一种web环境下唯一标识客户端机器的方法
CN104579649A (zh) * 2013-10-28 2015-04-29 腾讯科技(深圳)有限公司 身份识别方法和系统
CN105786706A (zh) * 2016-02-26 2016-07-20 成都中云天下科技有限公司 一种真人测试系统防作弊方法及装置
CN105871855A (zh) * 2016-04-11 2016-08-17 杨鹏 一种电子设备标识码生成、存储和识别的方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103401957A (zh) * 2013-08-07 2013-11-20 五八同城信息技术有限公司 一种web环境下唯一标识客户端机器的方法
CN104579649A (zh) * 2013-10-28 2015-04-29 腾讯科技(深圳)有限公司 身份识别方法和系统
CN105786706A (zh) * 2016-02-26 2016-07-20 成都中云天下科技有限公司 一种真人测试系统防作弊方法及装置
CN105871855A (zh) * 2016-04-11 2016-08-17 杨鹏 一种电子设备标识码生成、存储和识别的方法及系统

Also Published As

Publication number Publication date
CN108933766A (zh) 2018-12-04

Similar Documents

Publication Publication Date Title
US10719602B2 (en) Method and device for realizing session identifier synchronization
CN102077213B (zh) 用于确保通信的认证和完整性的技术
US8925109B2 (en) Client-side player file and content license verification
CN106571951B (zh) 审计日志获取方法、系统及装置
CN110798315A (zh) 基于区块链的数据处理方法、装置及终端
KR20140099126A (ko) 소프트웨어를 보안하기 위하여 해시 함수를 이용한 소프트웨어 처리 방법, 그 장치 및 그 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체
TW200402981A (en) Methods for remotely changing a communications password
CN111444499B (zh) 用户身份认证方法及系统
US20220417241A1 (en) Methods, Systems, and Devices for Server Control of Client Authorization Proof of Possession
CN108933766B (zh) 一种提高设备id安全性的方法和客户端
US20130173923A1 (en) Method and system for digital content security cooperation
CN112800392A (zh) 基于软证书的授权方法和装置、存储介质
CN111740995A (zh) 一种授权认证方法及相关装置
CN113395406A (zh) 一种基于电力设备指纹的加密认证方法及系统
CN110188545B (zh) 一种基于链式数据库的数据加密方法及装置
KR20100117428A (ko) 게임 실행 권한 인증 방법, 게임 실행 권한 인증 프로그램이 기록된 기록매체, 및 게임 실행 권한 인증 프로그램이 저장된 서버
CN111934862B (zh) 服务器访问方法、装置、可读介质及电子设备
JP2009199147A (ja) 通信制御方法および通信制御プログラム
CN110807210A (zh) 一种信息处理方法、平台、系统及计算机存储介质
US20150333909A1 (en) Information processing system and information processing method
CN115361198A (zh) 解密方法、加密方法、装置、计算机设备和存储介质
CN113536238A (zh) 一种基于密码技术的软件使用授权认证方法、系统及相关产品
CN115102750B (zh) 隐私数据处理方法、系统、计算机终端及可读存储介质
CN112769560B (zh) 一种密钥管理方法和相关装置
CN108965216B (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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240129

Address after: Room 801, 85 Kefeng Road, Huangpu District, Guangzhou City, Guangdong Province

Patentee after: Yami Technology (Guangzhou) 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