CN108933950B - 终端标识确定方法及装置、计算机设备及存储介质 - Google Patents
终端标识确定方法及装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN108933950B CN108933950B CN201810972892.XA CN201810972892A CN108933950B CN 108933950 B CN108933950 B CN 108933950B CN 201810972892 A CN201810972892 A CN 201810972892A CN 108933950 B CN108933950 B CN 108933950B
- Authority
- CN
- China
- Prior art keywords
- hash value
- terminal
- hash
- public key
- unique identifier
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/258—Client 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/25808—Management of client data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/258—Client 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/25808—Management of client data
- H04N21/25816—Management of client data involving client authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/4508—Management of client data or end-user data
- H04N21/4516—Management of client data or end-user data involving client characteristics, e.g. Set-Top-Box type, software version or amount of memory available
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Graphics (AREA)
- Computer Security & Cryptography (AREA)
- Storage Device Security (AREA)
Abstract
一种终端标识确定方法及装置、计算机设备及存储介质,该终端标识确定方法包括:接收终端发送的全球唯一标识符请求;响应全球唯一标识符请求,生成终端对应的唯一私钥;根据唯一私钥,确定唯一私钥对应的公钥;基于公钥,生成终端对应的全球唯一标识符。采用本方法可确保终端对应的全球唯一标识能唯一对应一个终端。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种终端标识确定方法及装置、计算机设备及存储介质。
背景技术
随着计算机技术的不断发展,涌现了大量的应用,终端安装应用后,用户可使用应用提供的功能,满足各种需求,给用户提供了许多便利。例如,智能电视的出现,给用户视频观看提供了许多便利。在电视终端上可安装视频应用等,运行视频应用,用户可选择视频应用提供的视频进行播放。
以电视终端为例,为便于对电视终端上用户对应用使用情况的统计以及应用上日活跃用户数量统计等,用户在电视终端首次安装应用并运行后,应用后台可为其分配一个标识符,以标识其身份。目前后台在确定标识符的过程中,需要利用电视终端上传的信息,例如,电视终端序列号(即电视设备序列号)、电视终端MAC地址、厂商标识、电视终端CPU、电视终端内存信息等。即现有确定标识符的过程依赖客户端上传的信息,但部分厂商为了减少成本,不同的电视终端会使用相同的设备序列号和MAC地址等,不同电视终端上传给服务器的信息相同,如此,会出现不同电视终端对应的标识符相同的情况,进而造成多个电视终端可以对应同一个标识符,即一个标识符无法对应唯一的电视终端,进而无法确保电视终端的标识符唯一标示一个电视终端,则在后续进行统计工作时,无法得到准确的统计数据,即容易出现统计的标识符数量与实际电视终端数量之间存在偏差。
发明内容
基于此,有必要针对现有的无法确保一个标识符对应唯一的终端的问题,提出一种终端标识确定方法及装置、计算机设备及存储介质。
一种终端标识确定方法,包括步骤:
接收终端发送的全球唯一标识符请求;
响应所述全球唯一标识符请求,生成所述终端对应的唯一私钥;
基于所述唯一私钥,生成所述终端对应的全球唯一标识符。
一种终端标识确定装置,包括:
接收模块,用于接收终端发送的全球唯一标识符请求;
私钥确定模块,用于响应所述全球唯一标识符请求,生成所述终端对应的唯一私钥;
终端标识生成模块,用于基于所述唯一私钥,生成所述终端对应的全球唯一标识符。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
上述终端标识确定方法及装置、计算机设备及存储介质,在确定终端标识过程中,在收到终端发送的全球唯一标识符请求时,可响应该全球唯一标识符请求生成该终端对应的唯一私钥,即该唯一私钥与终端唯一对应。由于私钥的唯一性,可确保基于唯一私钥得到的公钥的唯一性,进一步在公钥的基础上,生成所述终端对应的全球唯一标识符,即可确保终端对应的全球唯一标识符的唯一性,即确保终端对应的全球唯一标识能唯一对应一个终端。
附图说明
图1为一个实施例中终端标识确定方法的应用环境示意图;
图2为一个实施例中终端标识确定方法的流程示意图;
图3为另一个实施例中终端标识确定方法中基于公钥,生成终端对应的全球唯一标识符的步骤的流程示意图;
图4为另一个实施例中终端确定方法的流程示意图;
图5为另一个实施例中终端确定方法的原理图;
图6为电视终端上视频应用与后台之间的交互原理图;
图7为一个实施例中终端标识确定装置的模块示意图;
图8为一个实施例中计算机设备的内部结构图。
具体实施方式
为使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本申请,并不限定本申请的保护范围。
本申请提供的各实施例的终端标识确定方法,可以应用于如图1所示的应用环境中,应用环境涉及包括终端10和服务器20,终端10可通过网络与服务器20通信。具体地,在终端10上可安装应用(如视频应用),在终端10上首次运行该应用时,终端10可向服务器20发送全球唯一标识符请求,服务器20可以是该应用对应的后台服务器,服务器20可用于响应全球唯一标识符请求,并与应用所在的终端10进行交互和通信。即服务器20接收终端10发送的全球唯一标识符请求后并响应,可确定终端10对应的唯一私钥,并基于唯一私钥确定对应的公钥,在公钥基础上生成终端对应的全球唯一标识符,即该全球唯一标识符作为终端标识,通过上述过程可确定的全球唯一标识符可唯一标示终端。
该服务器20可以用独立的服务器或者是多个服务器组成的服务器集群来实现。该终端10可以是任何一种能够实现智能输入输出以及安装并运行应用的设备,例如,终端可以是电视终端、智能手机、平板电脑、车载电脑、穿戴式智能设备等。
在一个实施例中,如图2所示,提供了一种终端标识确定方法。以该方法应用于图1中服务器20为例进行说明,包括以下步骤S210至S230。
S210:接收终端发送的全球唯一标识符请求。
全球唯一标识符,即GUID(Globally Unique Identifier),即生成的一种标识,可用于唯一标示对象。在本实施例中,为区分不同的终端,可由算法给终端创建一个唯一的标识,GUID即可以是这个唯一的标识,各终端在拥有自己唯一的标识,终端的全球唯一标识符可唯一标示终端。
在一个示例中,上述终端可以为电视终端,以终端为电视终端为例,上述终端标识确定方法即为电视终端标识确定方法,其中,电视终端可以是智能电视或电视盒子。
终端上可安装应用,如视频应用,用户对终端上视频应用进行操作控制,可实现视频播放等。终端首次启动上述应用时,可向应用对应的后台即服务器发送全球唯一标识符请求,以请求全球唯一标识符。终端可接收服务器返回的全球唯一标识符,后续向服务器发送任何请求时,均携带上述全球唯一标识符。服务器接收到终端发送的全球唯一标识符请求时,响应该请求即可执行对应的全球唯一标识生成过程。
S220:响应全球唯一标识符请求,生成终端对应的唯一私钥。
服务器接收全球唯一标识符请求后响应,首先需生成该终端对应的唯一私钥,即该唯一私钥唯一对应该终端,可避免同一私钥对应多个终端的情况。
在一个示例中,上述生成终端对应的唯一私钥可以为随机生成终端对应的唯一私钥,即私钥可以随机生成。在一个示例中,私钥可以是32个字节组成的数,私钥是非公开的,识别性较差,安全性高。
S230:根据唯一私钥,确定唯一私钥对应的公钥。
私钥与公钥成对,私钥确定后,则对应的公钥也可确定,公钥是公开的。具体地,可通过加密算法对私钥进行处理确定对应公钥。即通过私钥可确定公钥,但通过公钥无法反向计算得到私钥,提高数据安全性。
上述唯一私钥可唯一对应终端,具有唯一性,从而可确保基于其确定的公钥的唯一性,可以理解,上述公钥为唯一私钥对应的唯一公钥,即该公钥可唯一对应该终端。
S240:基于公钥,生成终端对应的全球唯一标识符。
在确定公钥后,可基于公钥生成终端对应的全球唯一标识符,即生成终端标识(全球唯一标识符作为终端标识),实现终端标识的确定,通过该全球唯一标识符可唯一标示上述终端,可避免出现终端标识相同的情况。
上述终端标识确定方法,在确定终端标识过程中,在收到终端发送的全球唯一标识符请求时,可响应该全球唯一标识符请求生成该终端对应的唯一私钥,即该唯一私钥与终端唯一对应。由于私钥的唯一性,可确保基于唯一私钥得到的公钥的唯一性,进一步在公钥的基础上,生成终端对应的全球唯一标识符,即可确保终端对应的全球唯一标识符的唯一性,即确保终端对应的全球唯一标识能唯一对应一个终端。
在一个实施例中,上述基于公钥,生成终端对应的全球唯一标识符之后,还可以包括:统计各终端对应的全球唯一标识符,获得全球唯一标识符数量。
在服务器中,每接收到一个终端发送的全球唯一标识符请求进行一次全球唯一标识符的生成过程,则对应得到一个终端对应的全球唯一标识符。得到一个终端对应的全球唯一标识符后,可记录该终端对应的全球唯一标识符。后续可统计在服务器中得到的各终端对应的全球唯一标识符,得到全球唯一标识符数量。由于全球唯一标识符具有唯一性,避免重复,如此,可提高全球唯一标识符数量的准确性。而且,全球唯一标识符数量与终端的数量对应,即可通过全球唯一标识符数量可准确确定使用上述应用的用户数量。
如图3所示,在一个实施例中,全球唯一标识符请求携带应用属性信息值,即应用对应的属性信息值。应用首次启动时,终端可向后台发送全球唯一标识符请求,在全球唯一标识符请求中携带上述应用属性信息值,以作为服务器生成全球唯一标识符的数据依据。
上述基于公钥,生成终端对应的全球唯一标识符的步骤S240,包括步骤S341-S344。
S341:对公钥进行哈希处理,确定公钥的初始哈希值。
哈希处理指将输入通过散列算法变换成固定长度的输出,该输出就是散列值,也可称为哈希值,上述变换可以理解为一种压缩映射。在基于公钥生成终端对应的全球唯一标识符的过程中,首先对公钥进行哈希处理,确定初始哈希值,此处哈希处理的输入为公钥,输出为初始哈希值。
S342:基于应用属性信息值以及公钥的初始哈希值,确定中间哈希值。
利用应用属性信息值对初始哈希值进行处理得到中间哈希值。一方面确保中间哈希值的信息量,增强唯一性。另一方面确保中间哈希值分别与应用属性信息和初始哈希值的关联性。
在一个示例中,可以通过将应用属性信息值添加至公钥的初始哈希值之前,得到中间哈希值,即合并应用属性信息值与初始哈希值得到中间哈希值,而且,应用属性信息值在初始哈希值之前,确定的中间哈希值既包括初始哈希值又包括应用属性信息值。
例如,初始哈希值为0x010866776006953D5567439E5E39F86A0D273BEE,应用属性信息值为0x00,其中,初始哈希值和应用属性信息值中0x表示16进制,实际的数值为0x后面的数,则得到的中间哈希值为0x00010866776006953D5567439E5E39F86A0D273BEE。在一个示例中,应用属性信息值可以为应用版本号(该应用版本号为数值)。
S343:对中间哈希值进行哈希处理,确定目标哈希值。
在得到中间哈希值后,为进一步提高安全性和唯一性,还需对中间哈希值进行哈希处理,得到目标哈希值。此处哈希处理的输入为中间哈希值,输出为目标哈希值。
S344:基于中间哈希值以及目标哈希值,生成终端对应的全球唯一标识符。
在本实施例中,结合中间哈希值和目标哈希值进行全球唯一标识符的确定,即全球唯一标识符的确定既与中间哈希值有关,又与目标哈希值有关,以确保其安全性和唯一性。
在一个实施例中,对公钥进行哈希处理,确定公钥的初始哈希值的步骤S341,包括:基于第一哈希算法对公钥进行哈希处理,确定原始哈希值;基于第二哈希算法对原始哈希值进行哈希处理,确定初始哈希值。
采用不同的哈希算法分别对公钥和原始哈希值进行哈希处理,得到处理哈希值。在一个示例中,第一哈希算法可以为SHA-256哈希算法,第二哈希算法可以为RIPEMD-160哈希算法。
在一个实施例中,对中间哈希值进行哈希处理,确定目标哈希值的步骤S343,包括:基于第三哈希算法对中间哈希值进行哈希处理,确定处理后的中间哈希值;基于第三哈希算法对处理后的中间哈希值进行哈希处理,确定目标哈希值。
采用相同的哈希算法对中间哈希值进行两次哈希处理,即通过第三哈希算法对中间哈希值进行一次哈希处理,再利用第三哈希算法对处理后的中间哈希值进行一次哈希处理,得到目标哈希值。在一个示例中,第三哈希算法与上述第一哈希算法可以相同,第三哈希算法可以为SHA-256哈希算法。
在一个实施例中,基于中间哈希值以及目标哈希值,生成终端对应的全球唯一标识符的步骤S344,包括:从目标哈希值中选取预设数目个字节添加至中间哈希值之后,获得待处理哈希值;对待处理哈希值进行编码,确定终端对应的全球唯一标识符。
即将目标哈希值中选取预设数目个字节与中间哈希值进行合并得到待处理哈希值,而且,目标哈希值中选取预设数目个字节在中间哈希值之后。如此,利用目标哈希值中至少部分数据对中间哈希值进行进一步的变换,使得到的待处理哈希值更加安全,且增强其唯一性。后续对其进行编码确定全球唯一标识符。
在一个实施例中,可从目标哈希值中任意选取预设数目个字节添加至中间哈希值之后,获得待处理哈希值,即可从目标哈希值中任意选取添加值中间哈希值之后的字节。如此,可提高待处理哈希值的多样性。
在一个示例中,可从目标哈希值中选取前预设数目个字节添加至中间哈希值之后,获得待处理哈希值。例如,目标哈希值为0xE61967F63C7DD183914A4AE452C9F6AD5F462CE3D277798075B107615C1A8A3E,中间哈希值为0x00010866776006953D5567439E5E39F86A0D273BEE,可选取目标哈希值中的前预设数目个字节(预设数目在一个示例中可以为4,则目标哈希值中的前预设数目个字节为前四个字节,即E61967F6)添加至中间哈希值之后,待处理哈希值为0x00010866776006953D5567439E5E39F86A0D273BEEE61967F6。
在一个实施例中,可采用BASE58编码算法对待处理哈希值进行编码,确定终端对应的全球唯一标识符。
在一个实施例中,根据唯一私钥,确定唯一私钥对应的公钥,包括:基于预设加密算法对唯一私钥进行加密处理,确定公钥。
在确定唯一私钥的基础上,可通过加密算法对其进行加密,得到公钥,通过公钥无法反向计算私钥,可确保信息安全。可以理解,该公钥唯一,如此可确保后续得到全球唯一标识符的唯一性。
在一个实施例中,预设加密算法可以为非对称加密算法。
在对称加密算法中,数据发信方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。收信方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,需要解密方事先必须知道加密密钥,如此,安全性不足。而非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。公开密钥与私有密钥是一对,若使用公开密钥对数据进行加密,则需要对应的私有密钥才能解密;若使用私有密钥对数据进行加密,则需要对应的公开密钥才能解密。加密和解密使用的是两个不同的密钥,如此,可提高安全性。
在一个示例中,非对称加密算法可以采用椭圆曲线加密算法(secp256k1)。
在一个实施例中,生成终端对应的唯一私钥,包括:通过随机数发生器随机生成终端对应的唯一随机数;将唯一随机数作为终端对应的唯一私钥。
私钥随机生成,且唯一,针对不同终端,服务器生成的私钥均是唯一的,上述唯一私钥可与终端唯一对应。在本实施例中,通过随机数发生器随机生成一个唯一随机数作为唯一私钥,快速且准确。
在一个实施例中,生成终端对应的全球唯一标识符之后,还包括:向终端返回全球唯一标识符。
服务器在生成终端对应的全球唯一标识符之后,即可将其返回给对应的终端。终端收该全球唯一标识符,后续向服务器发送的任何请求,均可携带其对应的全球唯一标识符,以便服务器统计记录等。
下面以一个具体实施例对上述终端标识确定方法的过程加以具体说明。随着比特币等数字加密货币的发明,逐渐兴起了一种全新的、去中心化的、称为区块链的分布式基础架构及数据运算方式。去中心化、分布式、可编程性、高安全性及可靠性是区块链技求的显著特点,其特别适合应用于数据存储、金融交易等宏观***领域。区块链,是源于比特币的底层技术,是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造,实现去中心化的分布式账本。上述终端标识确定过程可以理解为是基于区块链确定终端标识的过程。
以电视终端为例,如图4和5所示,首先,用户可在电视终端安装视频应用(即视频APP),用户在电视终端上首次启动该视频应用时,视频应用可通过终端向该视频应用的后台发送GUID请求(全球唯一标识符请求),该GUID请求可携带视频应用对应的版本号。在终端上的视频应用有其对应的缓存,视频应用在使用过程中,在缓存中会产生缓存信息,例如,图片、视频等信息。若视频应用为首次运行,则缓存中未存储有缓存信息,即可通过检测缓存中是否有缓存信息来判断是否为首次启动,若否,则表示首次启动,向后天发送GUID请求,否则,表示并非首次启动,无需发送GUID请求。
然后,视频应用的后台响应该全球唯一标识符请求,通过随机数发生器随机生成电视终端对应的一个32字节的唯一随机数,将唯一随机数作为电视终端对应的唯一私钥,如图6所示。例如,产生的唯一私钥可以为0x28FD4A7B6A307F426A94F8114701E7C8E774E7E9A47E2C2035DB23A206321726。
其次,基于椭圆曲线加密算法(secp256k1)确定唯一私钥对应的公钥。例如,基于上述唯一私钥确定的公钥可以为0x0460863AD64A87AE8D2FE83C1AF1A8403CB53F53E486D8511DAD8A04887E5B23522CD470243453A299FA9E77237716103ABC11A1DF38855ED6F2EE187E9C582BB7。
基于SHA-256哈希算法对公钥进行哈希处理,确定原始哈希值,基于RIPEMD-160哈希算法对原始哈希值进行哈希处理,确定初始哈希值。例如,确定的原始哈希值可以为0x600FFE422B4E00731A59557A5CCA46CC183944191006324A447BDB2D98D4B408。基于该原始哈希值确定的初始哈希值可以为:0x010866776006953D5567439E5E39F86A0D273BEE。
再将应用版本号添加至公钥的初始哈希值之前,确定中间哈希值。如图6所示,应用版本号可以为0x00(0x标识16进制,其具体值为00),将其添加到初始哈希值之前,则确定的中间哈希值为0x00010866776006953D5567439E5E39F86A0D273BEE。采用SHA-256哈希算法对中间哈希值进行哈希处理,确定处理后的中间哈希值,并基于SHA-256哈希算法对处理后的中间哈希值进行哈希处理,确定目标哈希值。即对中间哈希值进行2次SHA-256哈希处理,得到目标哈希值。其中,得到的目标哈希值为0xE61967F63C7DD183914A4AE452C9F6AD5F462CE3D277798075B107615C1A8A3E。
再次,将目标哈希值中前四个字节添加至中间哈希值之后,获得待处理哈希值,通过上述四个字节可用于校验。选取的目标哈希值中前四个字节为E61967F6,将其添加到中间哈希值之后,得到的待处理哈希值为0x00010866776006953D5567439E5E39F86A0D273BEEE61967F6。
基于BASE58编码算法对待处理后哈希值进行编码,确定电视终端对应的GUID,电视终端对应的GUID作为电视终端标识。确定的电视终端对应的全球唯一标识符可以为16UwLL9Risc3QfPqBUvKofHmBQ7wMtjvM。通过该全球唯一标识符可唯一标示视频应用所在的终端。最后,将得到的全球唯一标识符返回给电视终端。
如此,本申请的实施例不再依赖电视终端上传的参数进行标识符确定,而是通过上述过程确定全球唯一标识符,确保电视终端标识的唯一性。基于区块链的不可篡改和唯一性的特点,通过上述确定电视终端标识的过程,可以有效解决多个电视终端对应同一个GUID,以及单个用户与单个GUID无法对应的问题。
应该理解的是,虽然图2-5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-5中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
如图7所示,提供一个实施例的终端标识确定装置,该装置可以是图1中的服务器20,也可设置于图1的服务器20中,该装置包括:
请求接收模块710,用于接收终端发送的全球唯一标识符请求;
私钥生成模块720,用于响应全球唯一标识符请求,生成终端对应的唯一私钥;
公钥确定模块730,用于根据唯一私钥,确定唯一私钥对应的公钥;
标识确定模块740,用于基于公钥,生成终端对应的全球唯一标识符。
在一个实施例中,全球唯一标识符请求携带应用属性信息值。
上述终端标识确定装置,在确定终端标识过程中,在收到终端发送的全球唯一标识符请求时,可响应该全球唯一标识符请求生成该终端对应的唯一私钥,即该唯一私钥与终端唯一对应。由于私钥的唯一性,可确保基于唯一私钥得到的公钥的唯一性,进一步在公钥的基础上,生成终端对应的全球唯一标识符,即可确保终端对应的全球唯一标识符的唯一性,即确保终端对应的全球唯一标识能唯一对应一个终端。
在一个示例中,上述私钥生成模块720可用于随机生成终端对应的唯一私钥,即私钥可以随机生成。
在本实施例中,标识确定模块740,包括:初始哈希模块、添加模块、目标确定模块以及标识生成模块。
初始哈希模块,用于对公钥进行哈希处理,确定公钥的初始哈希值;
中间哈希模块,用于基于应用属性信息值以及公钥的初始哈希值,确定中间哈希值;
目标确定模块,用于对中间哈希值进行哈希处理,确定目标哈希值;
标识生成模块,用于基于中间哈希值以及目标哈希值,生成终端对应的全球唯一标识符。
在一个实施例中,中间哈希模块,用于将应用属性信息值添加至公钥的初始哈希值之前,确定中间哈希值。
在一个实施例中,初始哈希模块,包括:
第一哈希模块,用于基于第一哈希算法对公钥进行哈希处理,确定原始哈希值;
第二哈希模块,用于基于第二哈希算法对原始哈希值进行哈希处理,确定初始哈希值。
在一个实施例中,目标确定模块,包括:
第三哈希模块,用于基于第三哈希算法对中间哈希值进行哈希处理,确定处理后的中间哈希值;
目标哈希值确定模块,用于基于第三哈希算法对处理后的中间哈希值进行哈希处理,确定目标哈希值。
在一个实施例中,标识生成模块,包括:
数值添加模块,用于从目标哈希值中选取预设数目个字节添加至中间哈希值之后,获得待处理哈希值;
全球唯一标识符生成模块,用于对待处理哈希值进行编码,确定终端对应的全球唯一标识符。
在一个实施例中,数值添加模块,可以用于从目标哈希值中任意选取预设数目个字节添加至中间哈希值之后,获得待处理哈希值。
在一个示例中,数值添加模块,可以用于从目标哈希值中选取前预设数目个字节添加至中间哈希值之后,获得待处理哈希值。
在一个实施例中,公钥确定模块,用于基于预设加密算法对唯一私钥进行加密处理,确定公钥。
在一个实施例中,预设加密算法为非对称加密算法。
在一个实施例中,私钥生成模块,包括:
随机数生成模块,用于通过随机数发生器随机生成终端对应的唯一随机数;
私钥确定模块,用于将唯一随机数作为终端对应的唯一私钥。
在一个实施例中,上述装置还包括:
发送模块,用于向终端返回全球唯一标识符。
关于终端标识确定装置的具体限定可以参见上文中对于终端标识确定方法的限定,在此不再赘述。上述终端标识确定装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是图1中服务器20,其内部结构图可以如图8所示。该计算机设备包括通过***总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作***和计算机程序。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现上述各方法的实施例的步骤。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述方法的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (20)
1.一种终端标识确定方法,其特征在于,包括步骤:
接收终端发送的全球唯一标识符请求;
响应所述全球唯一标识符请求,生成所述终端对应的唯一私钥;
根据所述唯一私钥,确定所述唯一私钥对应的公钥;
基于所述公钥,生成所述终端对应的全球唯一标识符;
统计各终端对应的全球唯一标识符,获得全球唯一标识符数量。
2.根据权利要求1所述的方法,其特征在于,所述全球唯一标识符请求携带应用属性信息值;
所述基于所述公钥,生成所述终端对应的全球唯一标识符,包括:
对所述公钥进行哈希处理,确定所述公钥的初始哈希值;
基于所述应用属性信息值以及所述公钥的初始哈希值,确定中间哈希值;
对所述中间哈希值进行哈希处理,确定目标哈希值;
基于所述中间哈希值以及所述目标哈希值,生成所述终端对应的全球唯一标识符。
3.根据权利要求2所述的方法,其特征在于,所述对所述公钥进行哈希处理,确定所述公钥的初始哈希值,包括:
基于第一哈希算法对所述公钥进行哈希处理,确定原始哈希值;
基于第二哈希算法对所述原始哈希值进行哈希处理,确定所述初始哈希值。
4.根据权利要求2所述的方法,其特征在于,所述对所述中间哈希值进行哈希处理,确定目标哈希值,包括:
基于第三哈希算法对所述中间哈希值进行哈希处理,确定处理后的中间哈希值;
基于所述第三哈希算法对所述处理后的中间哈希值进行哈希处理,确定所述目标哈希值。
5.根据权利要求2所述的方法,其特征在于,所述基于所述中间哈希值以及所述目标哈希值,生成所述终端对应的全球唯一标识符,包括:
从所述目标哈希值中选取预设数目个字节添加至所述中间哈希值之后,获得待处理哈希值;
对所述待处理哈希值进行编码,确定所述终端对应的全球唯一标识符。
6.根据权利要求1所述的方法,其特征在于,所述根据所述唯一私钥,确定所述唯一私钥对应的公钥,包括:
基于预设加密算法对所述唯一私钥进行加密处理,确定所述公钥。
7.根据权利要求6所述的方法,其特征在于,所述预设加密算法为非对称加密算法。
8.根据权利要求1所述的方法,其特征在于,所述生成所述终端对应的唯一私钥,包括:
通过随机数发生器随机生成所述终端对应的唯一随机数;
将所述唯一随机数作为所述终端对应的唯一私钥。
9.根据权利要求1-8中任意一项所述的方法,其特征在于,生成所述终端对应的全球唯一标识符之后,还包括:
向所述终端返回所述全球唯一标识符。
10.一种终端标识确定装置,其特征在于,包括:
请求接收模块,用于接收终端发送的全球唯一标识符请求;
私钥生成模块,用于响应所述全球唯一标识符请求,生成所述终端对应的唯一私钥;
公钥确定模块,用于根据所述唯一私钥,确定所述唯一私钥对应的公钥;
标识确定模块,用于基于所述公钥,生成所述终端对应的全球唯一标识符;统计各终端对应的全球唯一标识符,获得全球唯一标识符数量。
11.根据权利要求10所述的装置,其特征在于,所述全球唯一标识符请求携带应用属性信息值;
所述标识确定模块,包括:
初始哈希模块,用于对所述公钥进行哈希处理,确定所述公钥的初始哈希值;
中间哈希模块,用于基于所述应用属性信息值以及所述公钥的初始哈希值,确定中间哈希值;
目标确定模块,用于对所述中间哈希值进行哈希处理,确定目标哈希值;
标识生成模块,用于基于所述中间哈希值以及所述目标哈希值,生成所述终端对应的全球唯一标识符。
12.根据权利要求11所述的装置,其特征在于,所述初始哈希模块,包括:
第一哈希模块,用于基于第一哈希算法对所述公钥进行哈希处理,确定原始哈希值;
第二哈希模块,用于基于第二哈希算法对所述原始哈希值进行哈希处理,确定所述初始哈希值。
13.根据权利要求11所述的装置,其特征在于,所述目标确定模块,包括:
第三哈希模块,用于基于第三哈希算法对所述中间哈希值进行哈希处理,确定处理后的中间哈希值;
目标哈希确定模块,用于基于所述第三哈希算法对所述处理后的中间哈希值进行哈希处理,确定所述目标哈希值。
14.根据权利要求11所述的装置,其特征在于,所述标识生成模块,包括:
数值添加模块,用于从所述目标哈希值中选取预设数目个字节添加至所述中间哈希值之后,获得待处理哈希值;
全球唯一标识符生成模块,用于对所述待处理哈希值进行编码,确定所述终端对应的全球唯一标识符。
15.根据权利要求10所述的装置,其特征在于,
所述公钥确定模块,还用于基于预设加密算法对唯一私钥进行加密处理,确定公钥。
16.根据权利要求15 所述的装置,其特征在于,所述预设加密算法为非对称加密算法。
17.根据权利要求10所述的装置,其特征在于,所述私钥生成模块,包括:
随机数生成模块,用于通过随机数发生器随机生成所述终端对应的唯一随机数;
私钥确定模块,用于将所述唯一随机数作为所述终端对应的唯一私钥。
18.根据权利要求10-17中任意一项所述的装置,其特征在于,所述装置还包括:
发送模块,用于向所述终端返回所述全球唯一标识符。
19.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-9任意一项所述的方法的步骤。
20.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至9中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810972892.XA CN108933950B (zh) | 2018-08-24 | 2018-08-24 | 终端标识确定方法及装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810972892.XA CN108933950B (zh) | 2018-08-24 | 2018-08-24 | 终端标识确定方法及装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108933950A CN108933950A (zh) | 2018-12-04 |
CN108933950B true CN108933950B (zh) | 2020-06-05 |
Family
ID=64445903
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810972892.XA Active CN108933950B (zh) | 2018-08-24 | 2018-08-24 | 终端标识确定方法及装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108933950B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112668061B (zh) * | 2021-01-13 | 2022-08-12 | 海信视像科技股份有限公司 | 电子设备及其设备编码上报方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103780379B (zh) * | 2012-10-19 | 2017-09-19 | 阿里巴巴集团控股有限公司 | 密码加密方法和***以及密码校验方法和*** |
US10015017B2 (en) * | 2015-04-09 | 2018-07-03 | Qualcomm Incorporated | Proof of work based user identification system |
CN112019503B (zh) * | 2018-03-01 | 2023-11-07 | 北京华为数字技术有限公司 | 一种获得设备标识的方法、通信实体、通信***及存储介质 |
-
2018
- 2018-08-24 CN CN201810972892.XA patent/CN108933950B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN108933950A (zh) | 2018-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11196745B2 (en) | Blockchain-based account management | |
CN111107073B (zh) | 应用自动登录方法、装置、计算机设备和存储介质 | |
CN111191294B (zh) | 基于区块链的单节点记账方法、***、设备和存储介质 | |
CN112637166A (zh) | 一种数据传输方法、装置、终端及存储介质 | |
CN111200641A (zh) | 数据跨链共享方法、***,计算机设备和存储介质 | |
CN110690956B (zh) | 双向认证方法及***、服务器和终端 | |
CN110781140B (zh) | 区块链中数据签名的方法、装置、计算机设备及存储介质 | |
CN109347813B (zh) | 物联网设备登录方法、***、计算机设备和存储介质 | |
CN110727949B (zh) | 数据存储方法、装置、计算机设备和存储介质 | |
CN111131336B (zh) | 多方授权场景下的资源访问方法、装置、设备及存储介质 | |
CN112800393B (zh) | 授权认证、软件开发工具包生成方法、装置及电子设备 | |
CN114143108B (zh) | 一种会话加密方法、装置、设备及存储介质 | |
CN111294203A (zh) | 信息传输方法 | |
CN113438205A (zh) | 区块链数据访问控制方法、节点以及*** | |
CN112152802A (zh) | 数据加密方法、电子设备及计算机存储介质 | |
CN109088729B (zh) | 一种密钥存储方法及装置 | |
CN111259428A (zh) | 基于区块链的数据处理方法、装置、节点设备及存储介质 | |
CN108933950B (zh) | 终端标识确定方法及装置、计算机设备及存储介质 | |
CN115001864B (zh) | 智能家具的通信认证方法、装置、计算机设备和存储介质 | |
CN115361198A (zh) | 解密方法、加密方法、装置、计算机设备和存储介质 | |
CN110765147B (zh) | 基于区块链加密存储的内容更新方法、用户节点及介质 | |
CN109561093B (zh) | 越权行为检测方法、装置、计算机设备和存储介质 | |
CN112468453A (zh) | 多协议设备的接入方法、***、电子设备及存储介质 | |
CN114691759B (zh) | 数据查询统计方法、装置、计算机设备及存储介质 | |
CN114338152B (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 |