基于区块链的机卡绑定方法和服务器与流程

文档序号:24633841发布日期:2021-04-09 20:44阅读:78来源:国知局
基于区块链的机卡绑定方法和服务器与流程

本申请涉及通信技术领域,尤其涉及一种基于区块链的机卡绑定方法和服务器。



背景技术:

在终端与sim卡的使用中,其连接通常是不稳定的,终端可以更换sim卡,sim卡也可以更换终端。因此,在一些需要sim卡与终端唯一绑定的场景中,例如客户前置设备(customerpremiseequipment,cpe)的使用中,该sim卡与终端的连接方式是不安全的。

针对这一情况,现有技术可以通过机卡绑定方式实现sim卡和终端的绑定。目前,常用的机卡绑定方法通常由sim卡发送主动式命令到终端实现。终端在接收到sim卡发送的主动式命令后,向sim卡发送绑定信息,进而实现sim卡与终端的绑定。

然而,该绑定方式存在容易被篡改,安全性低的问题。



技术实现要素:

本申请提供一种基于区块链的机卡绑定方法和服务器,用以解决现有技术的绑定方式容易被篡改,安全性低的问题。

第一方面,本申请提供一种基于区块链的机卡绑定方法,包括:

获取sim卡第一签名消息和终端第一身份公钥;

根据所述sim卡第一签名消息和所述终端第一身份公钥,生成sim卡新区块,所述sim卡新区块包括数据块标识和数据块数据,所述sim卡第一签名消息为所述数据块标识,所述终端第一身份公钥为所述数据块数据;

将所述sim卡新区块插入sim卡区块链中。

可选地,所述方法,还包括:

获取终端第一签名消息和sim卡第一身份公钥;

根据所述终端第一签名消息和所述sim卡第一身份公钥,生成终端新区块,所述终端新区块包括数据块标识和数据块数据,所述终端第一签名消息为所述数据块标识,所述sim卡第一身份公钥为所述数据块数据;

将所述终端新区块插入终端区块链中;

可选地,所述方法,包括:

根据sim卡特征编码,生成sim卡第一身份私钥和sim卡第一身份公钥;

根据sim卡信息和第一预设哈希算法,生成sim卡第一签名消息,所述sim卡第一签名消息为所述sim卡信息通过所述第一预设哈希算法加密得到。

可选地,所述方法,包括:

根据终端特征编码,生成终端第一身份私钥和终端第一身份公钥;

根据终端信息和第二预设哈希算法,生成终端第一签名消息,所述终端第一签名消息为所述终端信息通过所述第二预设哈希算法加密得到。

可选地,完成机卡绑定后,所述方法,包括:

获取待验证sim卡的sim卡第二签名消息、待验证终端的终端第二身份私钥和终端第二签名消息,所述sim卡第二签名消息为所述待验证sim卡的sim卡信息通过所述第一预设哈希算法加密得到,所述终端第二签名消息为所述待验证终端的终端信息通过所述第二预设哈希算法加密得到,所述终端第二身份私钥根据所述待验证终端的终端特征编码生成;

将所述待验证终端的终端数字签名、所述终端第二签名消息和所述sim卡第二签名消息上报sim卡区块链,所述终端数字签名通过所述终端第二身份私钥对终端第二签名消息进行数字签名得到;

将所有sim卡区块链的数据块标识与所述sim卡第二签名消息进行匹配,确定所述待验证sim卡的sim卡区块;

根据所述待验证sim卡的所述sim卡区块中的终端第一身份公钥和所述终端第二签名消息验证所述终端数字签名,并确定验证结果。

可选地,完成机卡绑定后,所述方法,包括:

获取待验证sim卡的sim卡第二签名消息、sim卡第二身份私钥和待验证终端的终端第二签名消息,所述sim卡第二签名消息为所述待验证sim卡的所述sim卡信息通过所述第一预设哈希算法加密得到,所述sim卡第二身份私钥根据所述待验证终端的所述终端特征编码生成,所述终端第二签名消息为所述终端信息通过所述第二预设哈希算法加密得到;

将待验证sim卡的sim卡数字签名、所述sim卡第二签名消息和所述终端第二签名消息上报终端区块链,所述sim卡数字签名通过所述sim卡第二身份私钥对sim卡第二签名消息进行数字签名得到;

将所有终端区块链的数据块标识与所述终端第二签名消息进行匹配,确定所述待验证终端的终端区块;

根据所述待验证终端的所述终端区块中的sim卡第一身份公钥和所述sim卡第二签名消息验证所述sim卡数字签名,并确定验证结果;

可选地,所述方法,还包括:

根据所述验证结果,判断是否出现机卡分离;

当所述机卡分离时,对所述待验证终端或者所述待验证sim卡进行限制入网。

第二方面,本申请提供一种基于区块链的机卡绑定装置,包括:

第一获取模块,用于获取sim卡第一签名消息和终端第一身份公钥;

第一生成模块,用于根据所述sim卡第一签名消息和所述终端第一身份公钥,生成sim卡新区块,所述sim卡新区块包括数据块标识和数据块数据,所述sim卡第一签名消息为所述数据块标识,所述终端第一身份公钥为所述数据块数据;

第一插入模块,用于将所述sim卡新区块插入sim卡区块链中。

可选地,所述装置,还包括:

第二获取模块,用于获取终端第一签名消息和sim卡第一身份公钥;

第二生成模块,用于根据所述终端第一签名消息和所述sim卡第一身份公钥,生成终端新区块,所述终端新区块包括数据块标识和数据块数据,所述终端第一签名消息为所述数据块标识,所述sim卡第一身份公钥为所述数据块数据;

第二插入模块,用于将所述终端新区块插入终端区块链中;

可选地,sim卡数据的生成过程可以包括:根据sim卡特征编码,生成sim卡第一身份私钥和sim卡第一身份公钥;根据sim卡信息和第一预设哈希算法,生成sim卡第一签名消息,所述sim卡第一签名消息为所述sim卡信息通过所述第一预设哈希算法加密得到。

可选地,终端数据的生成过程可以包括:根据终端特征编码,生成终端第一身份私钥和终端第一身份公钥;根据终端信息和第二预设哈希算法,生成终端第一签名消息,所述终端第一签名消息为所述终端信息通过所述第二预设哈希算法加密得到。

可选地,完成机卡绑定后,所述装置,包括:

第三获取模块,用于获取待验证sim卡的sim卡第二签名消息、待验证终端的终端第二身份私钥和终端第二签名消息,所述sim卡第二签名消息为所述待验证sim卡的sim卡信息通过所述第一预设哈希算法加密得到,所述终端第二签名消息为所述待验证终端的终端信息通过所述第二预设哈希算法加密得到,所述终端第二身份私钥根据所述待验证终端的终端特征编码生成;

第一上报模块,用于将所述待验证终端的终端数字签名、所述终端第二签名消息和所述sim卡第二签名消息上报sim卡区块链,所述终端数字签名通过所述终端第二身份私钥对终端第二签名消息进行数字签名得到;

第一确定模块,用于将所有sim卡区块链的数据块标识与所述sim卡第二签名消息进行匹配,确定所述待验证sim卡的sim卡区块;

第一验证模块,用于根据所述待验证sim卡的所述sim卡区块中的终端第一身份公钥和所述终端第二签名消息验证所述终端数字签名,并确定验证结果。

可选地,完成机卡绑定后,所述装置,包括:

第四获取模块,用于获取待验证sim卡的sim卡第二签名消息、sim卡第二身份私钥和待验证终端的终端第二签名消息,所述sim卡第二签名消息为所述待验证sim卡的所述sim卡信息通过所述第一预设哈希算法加密得到,所述sim卡第二身份私钥根据所述待验证终端的所述终端特征编码生成,所述终端第二签名消息为所述终端信息通过所述第二预设哈希算法加密得到;

第二上报模块,用于将待验证sim卡的sim卡数字签名、所述sim卡第二签名消息和所述终端第二签名消息上报终端区块链,所述sim卡数字签名通过所述sim卡第二身份私钥对sim卡第二签名消息进行数字签名得到;

第二确定模块,用于将所有终端区块链的数据块标识与所述终端第二签名消息进行匹配,确定所述待验证终端的终端区块;

第二验证模块,用于根据所述待验证终端的所述终端区块中的sim卡第一身份公钥和所述sim卡第二签名消息验证所述sim卡数字签名,并确定验证结果;

可选地,所述装置,还包括:

判断模块,用于根据所述验证结果,判断是否出现机卡分离;

限制模块,用于当所述机卡分离时,对所述待验证终端或者所述待验证sim卡进行限制入网。

第三方面,本申请提供一种服务器,包括:存储器,处理器,所述存储器,用于存储计算机程序,所述处理器,用于根据所述存储器存储的计算机程,实现第一方面及第一方面任一种可能的设计中的基于区块链的机卡绑定方法。

第四方面,本申请提供一种可读存储介质,可读存储介质中存储有执行指令,当服务器的至少一个处理器执行该执行指令时,服务器执行第一方面及第一方面任一种可能的设计中的基于区块链的机卡绑定方法。

第五方面,本申请提供一种计算机程序产品,计算机程序产品包括计算机程序,该计算机程序被处理器执行时实现第一方面及第一方面任一种可能的设计中的基于区块链的机卡绑定方法。

本申请提供的基于区块链的机卡绑定方法和服务器,通过在获取终端发送的绑定请求后,根据该绑定请求确定其对应的sim卡第一签名消息和终端第一身份公钥;其中,sim卡第一签名消息可以根据sim卡信息和第一预设哈希算法生成;其中,终端第一身份公钥可以由终端特征编码通过非对称加密算法生成;以sim卡第一签名消息为数据块标识,以终端第一身份公钥为数据块数据,生成一个sim卡新区块;将该sim卡新区块插入sim卡区块链中的手段,实现提高该机卡绑定信息的安全性,避免该机卡绑定信息出现被篡改的问题。

附图说明

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

图1为本申请一实施例提供的一种基于区块链的机卡绑定场景示意图;

图2为本申请一实施例提供的一种基于区块链的机卡绑定方法的流程图;

图3为本申请一实施例提供的一种sim卡新区块的结构示意图;

图4为本申请一实施例提供的一种区块链的的结构示意图;

图5为本申请一实施例提供的另一种基于区块链的机卡绑定方法的流程图;

图6为本申请一实施例提供的一种终端新区块的结构示意图;

图7为本申请一实施例提供的再一种基于区块链的机卡绑定方法的流程图;

图8为本申请一实施例提供的一种基于区块链的机卡绑定装置的结构示意图;

图9为本申请一实施例提供的另一种基于区块链的机卡绑定装置的结构示意图;

图10为本申请一实施例提供的一种基于区块链的机卡绑定系统的结构示意图;

图11为本申请一实施例提供的一种服务器的硬件结构示意图。

具体实施方式

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

在终端与sim卡的使用中,其连接通常是不稳定的,终端可以更换sim卡,sim卡也可以更换终端。因此,在一些需要sim卡与终端唯一绑定的场景中,该sim卡与终端的连接方式是不安全的。例如,随着5g时代的到来,政企行业专网蓬勃发展,越来越多的政企行业产品选择5g无线接入。客户前置设备(customerpremiseequipment,cpe)是其中的重要接入设备之一。cpe正是一种需要保证sim卡与终端唯一绑定设备。由于5g政企专网套餐资费相对传统套餐更便宜,因此,容易出现用户将cpe中的sim卡拔出来,放在手机中继续使用的情况。同时,由于5g政企专网签约长期合约后,cpe通常可以免费使用,但在使用期间,用户可能出现中途更换其它运营商sim卡的情况。因此,为了保证cpe与其sim的唯一绑定,需要使用机卡绑定方法来保证cpe使用的是其绑定的sim卡,或者sim卡是在其绑定的cpe中被使用。

目前,常用的机卡绑定方法通常由sim卡发送主动式命令到终端实现。终端在接收到sim卡发送的主动式命令后,向sim卡发送绑定信息,进而实现sim卡与终端的绑定。然而,该机卡绑定方法需要通过sim卡发送主动式命令。要实现sim卡发送主动式命令,就需要在sim卡芯片上设计移动终端的机卡绑定装置。该机卡绑定装置的设置存在对sim卡系统制作和开发要求高的问题。其次,基于主动式命令的机卡绑定方法通常需要设计专门的机卡交互协议信令流程,以保证机卡的正确交互和绑定。该机卡交互协议信令流程的设置容易导致额外的信令开销。再次,该机卡绑定方法中绑定方向是单向的,只能在sim卡中绑定终端。即,sim卡在绑定后只能在该终端中使用,但是当终端更换sim卡时,终端可以使用新的sim卡。

针对上述问题,本申请提出了一种基于区块链的机卡绑定方法。出于对绑定安全性和稳定性的考虑,本申请使用了区块链作为机卡绑定信息的存储方式。本申请通过基于区块链的公钥存储,使公钥具有不可篡改性,提高公钥的安全性,同时提高验证的合法性。为了保证终端与sim卡的唯一绑定,避免sim卡绑定了终端,但是终端没有绑定sim卡的情况出现,本申请提出了一种机卡的双向绑定方法。本申请中,服务器以sim卡第一签名消息为数据块标识,终端第一身份公钥为数据块数据生成一个sim卡新区块,插入sim卡区块链。服务器还以终端第一签名消息为数据块标识,sim卡第一身份公钥为数据块数据生成一个终端新区块,插入终端区块链。进而,在后续开机时,终端和sim卡可以通过该sim卡区块链或者终端区块链实现双向验证。并且,由于在本申请中,该注册和验证的过程均在服务器实现,因此对sim卡系统要求不高,且不需要额外的机卡信令交互流程。

此外,本申请所使用的基于区块链的的机卡绑定方法不仅可用于机卡绑定及其验证,还可以用于机卡分离检测。

下面以具体地实施例对本申请的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。

图1示出了本申请一实施例提供的一种基于区块链的机卡绑定场景示意图。如图1所示,该机卡绑定场景中包括插入了sim卡的终端和服务器。当终端插入新的sim卡,或sim卡插入新的终端后,终端开机,并向服务器发送绑定请求。服务器根据该终端与sim卡的绑定请求生成终端第一身份私钥、终端第一身份公钥和终端第一签名消息,以及sim卡第一身份私钥、sim卡第一身份公钥和sim卡第一签名消息。服务器根据以上信息生成sim卡区块和终端区块。服务器分别将sim卡区块和终端区块上传至sim卡区块链和终端区块链。当该终端再次开机时,该终端响服务器发送验证请求。服务器根据该终端与sim卡的验证请求生成终端第二身份私钥、终端第二签名消息和终端数字签名,以及sim卡第二身份私钥、sim卡第二签名消息和sim卡数字签名。服务器根据sim卡第二签名消息从sim卡区块链中匹配sim卡区块。当匹配到sim卡区块后,服务器根据终端第一身份公钥和终端第二签名消息对终端数字签名进行验证。若数字签名通过验证,则说明该sim卡当前插入的终端为原始的终端。或者,服务器根据终端第二签名消息从终端区块链中匹配终端区块。当匹配到终端区块后,服务器根据sim卡第一身份公钥和sim卡第二签名消息对sim卡数字签名进行验证。若数字签名通过验证,则表明该终端使用的sim卡为原始的sim卡。

本申请中,以服务器为执行主体,执行如下实施例的句式编辑方法。具体地,该执行主体可以为服务器的硬件装置,或者为服务器中实现下述实施例的软件应用,或者为安装有实现下述实施例的软件应用的计算机可读存储介质。

图2示出了本申请一实施例提供的一种基于区块链的机卡绑定方法的流程图。在图1所示实施例的基础上,如图2所示,以服务器为执行主体,本实施例的方法可以包括如下步骤:

s101、获取sim卡第一签名消息和终端第一身份公钥。

本实施例中,服务器在获取终端发送的绑定请求后,根据该绑定请求确定其对应的sim卡第一签名消息和终端第一身份公钥。

其中,该绑定请求可以在该终端第一次开机时或者该sim卡第一次申请入网时,由该终端向服务器发送。

其中,该sim卡第一签名消息和终端第一身份公钥可以为服务器从该绑定请求中获取。

或者,该sim卡第一签名消息和终端第一身份公钥还可以为服务器从内存中获取。当该sim卡第一签名消息和终端第一身份公钥为服务器从内存中获取时,服务器可以根据绑定请求确定sim卡特征编码和终端特征编码。服务器根据该sim卡特征编码和终端特征编码,从服务器的存储设备中获取预先存储的sim卡第一签名消息和终端第一身份公钥。其中,sim卡特征编码和终端特征编码用于唯一标识该sim卡和该终端。其中,sim卡特征编码包括但不限于imsi、msisdn、iccid、序列号sn等。其中,终端特征编码包括但不限于imei、meid、esn等。

或者,该sim卡第一签名消息和终端第一身份公钥还可以为服务器根据sim卡特征编码和sim卡信息以及终端特征编码和终端信息生成。其中,sim卡特征编码和sim卡信息以及终端特征编码和终端信息可以为服务器根据绑定请求获取。或者服务器在根据绑定请求确定sim卡特征编码和终端特征编码后,从存储设备中获取。其中,服务器根据sim卡特征编码和sim卡信息以及终端特征编码和终端信息生成sim卡第一签名消息和终端第一身份公钥可以通过如下示例实现。

一种示例中,该sim卡参数的生成过程可以包括:

步骤1、服务器在获取sim卡特征编码后,可以根据sim卡特征编码,生成sim卡第一身份私钥和sim卡第一身份公钥。

本步骤中,服务器可以基于非对称加密算法,根据sim卡特征编码生成sim卡第一身份私钥。进而,服务器基于该非对称加密算法,根据sim卡第一身份私钥生成sim卡第一身份公钥。其中,非对称加密算法可以包括rsa、elgamal、背包算法、rabin、d-h、ecc(椭圆曲线加密算法)等现有算法,该非对称加密算法还可以为改进后的算发。

步骤2、服务器在获取sim卡信息后,可以根据sim卡信息和第一预设哈希算法,生成sim卡第一签名消息,sim卡第一签名消息为sim卡信息通过第一预设哈希算法加密得到。

本步骤中,该sim卡信息包括但不限于imsi、msisdn、iccid、序列号sn等。该第一预设哈希算法可以为md5,hmac,sha1,sha256等现有算法,该hash算法还可以为改进后的算法。

另一种示例中,该终端参数的生成步骤可以包括:

步骤1、服务器在获取终端特征编码后,可以根据终端特征编码,生成终端第一身份私钥和终端第一身份公钥。

本步骤中,服务器可以基于非对称加密算法,根据终端特征编码,生成终端第一身份私钥。进而,服务器基于该非对称加密算法,根据终端第一身份私钥,生成终端第一身份公钥。其中,非对称加密算法可以包括rsa、elgamal、背包算法、rabin、d-h、ecc(椭圆曲线加密算法)等现有算法,该非对称加密算法还可以为改进后的算发。

步骤2、根据终端信息和第二预设哈希算法,生成终端第一签名消息,终端第一签名消息为终端信息通过第二预设哈希算法加密得到。

本步骤中,该终端信息包括但不限于imei、meid、esn等。该第二预设哈希算法可以为md5,hmac,sha1,sha256等现有算法,该hash算法还可以为改进后的算法。其中,第二预设哈希算法与第一预设哈希算法可以为相同的哈希算法,或者,第二预设哈希算法与第一预设哈希算法可以为不同的哈希算法,本申请对此不作限制。

s102、根据sim卡第一签名消息和终端第一身份公钥,生成sim卡新区块,sim卡新区块包括数据块标识和数据块数据,sim卡第一签名消息为数据块标识,终端第一身份公钥为数据块数据。

本实施例中,服务器生成一个sim卡新区块,该sim卡新区块可以如图3所示。该sim卡新区块中包括数据块标识和数据块数据。其中,数据块标识内容为sim卡第一签名消息。其中,数据块数据内容为终端第一身份公钥。

s103、将sim卡区块插入sim卡区块链中。

本实施例中,该sim卡区块链可以如图4所示,每一区块中包括索引、时间戳、数据块、哈希值和上一区块哈希值五个部分。其中,索引用于在该sim卡区块链中唯一标识其中的区块。其中,该时间戳为该区块插入到该区块链的时间。其中,数据块中存储的内容为s102中sim卡区块的内容,即以sim卡第一签名消息为数据块标识,以终端第一身份公钥为数据块数据的数据块内容。其中,上一区块哈希值为该sim卡区块链中,该区块的上一区块的哈希值,第一区块的上一区块哈希值为0。

当sim卡新区块插入sim卡区块链时,sim卡新区块使用尾插法插入到该sim卡区块链的末尾。服务器将该sim卡新区块的时间戳确定为该sim卡新区块的插入时间。服务器根据sim卡区块链的索引,确定该sim卡新区块的索引。服务器根据该sim卡区块链中该sim卡新区块的上一区块,确定上一区块哈希值。

其中,该sim卡区块链可以存储在该服务器上,或者该sim卡区块链还可以存储在区块链服务器中。当sim卡区块链存储在区块链服务器中时,该区块链的操作通过区块链系统实现。

本申请提供的基于区块链的机卡绑定方法,服务器在获取终端发送的绑定请求后,根据该绑定请求确定其对应的sim卡第一签名消息和终端第一身份公钥。其中,sim卡第一签名消息可以根据sim卡信息和第一预设哈希算法生成。其中,终端第一身份公钥可以由终端特征编码通过非对称加密算法生成。服务器以sim卡第一签名消息为数据块标识,以终端第一身份公钥为数据块数据,生成一个sim卡新区块。服务器将该sim卡新区块插入sim卡区块链中。本申请中,通过生成sim卡区块,实现该sim卡与终端的绑定,还通过将该sim卡区块插入sim卡区块链,提高该机卡绑定信息的安全性,避免该机卡绑定信息出现被篡改的问题。

图5示出了本申请一实施例提供的另一种基于区块链的机卡绑定方法的流程图。在图1至图4所示实施例的基础上,本实施例除了可以实现sim卡绑定终端,还可以实现终端绑定sim卡,从而实现双向绑定的效果。如图5所示,以服务器为执行主体,本实施例的方法可以包括如下步骤:

s201、获取终端第一签名消息和sim卡第一身份公钥。

本实施例中,服务器在获取终端发送的绑定请求后,根据该绑定请求确定其对应的sim卡第一签名消息和终端第一身份公钥。

其中,该绑定请求可以在该终端第一次开机时或者该sim卡第一次申请入网时,由该终端向服务器发送。

其中,该终端第一签名消息和sim卡第一身份公钥可以为服务器从该绑定请求中获取。

或者,该终端第一签名消息和sim卡第一身份公钥还可以为服务器从内存中获取。

或者,该终端第一签名消息和sim卡第一身份公钥还可以为服务器根据sim卡特征编码和sim卡信息以及终端特征编码和终端信息生成。其中,该终端第一签名消息和sim卡第一身份公钥的生成过程与图2实施例中的步骤s101实现方式类似,本实施例此处不再赘述。

s202、根据终端第一签名消息和sim卡第一身份公钥,生成终端新区块,终端新区块包括数据块标识和数据块数据,终端第一签名消息为数据块标识,sim卡第一身份公钥为数据块数据。

本实施例中,服务器生成一个终端新区块,该终端新区块可以如图6所示。该终端新区块中包括数据块标识和数据块数据。其中,数据块标识内容为终端第一签名消息。其中,数据块数据内容为sim卡第一身份公钥。

s203、将终端新区块插入终端区块链中。

该终端区块链可以如图4所示。当终端新区块插入终端区块链时,终端新区块使用尾插法插入到该终端区块链的末尾。服务器将该终端新区块的时间戳确定为该终端新区块的插入时间。服务器根据终端区块链的索引,确定该终端新区块的索引。服务器根据该终端区块链中该终端新区块的上一区块,确定上一区块哈希值。

本申请提供的基于区块链的机卡绑定方法,服务器在获取终端发送的绑定请求后,根据该绑定请求确定其对应的终端第一签名消息和sim卡第一身份公钥。其中,终端第一签名消息可以根据终端信息和第二预设哈希算法生成。其中,sim卡第一身份公钥可以由sim卡特征编码通过非对称加密算法生成。服务器以终端第一签名消息为数据块标识,以sim卡第一身份公钥为数据块数据,生成一个终端新区块。服务器将该终端新区块插入终端区块链中。本申请中,生成sim卡区块,实现该sim卡与终端的绑定,还通过将该sim卡区块插入sim卡区块链,提高该机卡绑定信息的安全性,避免该机卡绑定信息出现被篡改的问题。同时,本申请还通过sim卡区块链和终端区块链实现了双向绑定,可以更好的保证sim卡与终端的唯一绑定效果。

例如,在5gcpe的使用中,由于5g政企专网套餐资费相对传统套餐更便宜,因此,在实际使用中容易出现用户将cpe中的sim卡拔出来,放在手机中继续使用的情况。为了避免这一情况,本申请通过图2的实施例实现了sim卡与终端的绑定。服务器可以在后续使用中,通过查询与该sim卡绑定的终端,并比较当前终端是否与绑定终端一致,确定sim卡是否被挪用。同时,由于5g政企专网签约长期合约后cpe是免费使用,因此,在实际使用中容易出现用户将该cpe中的sim卡更换为其它运营商的sim卡。为了避免这一情况,本申请通过图5的实施例实现了终端与sim卡的绑定。服务器可以在后续使用中,通过查询与该终端绑定的sim卡,并比较当前sim卡是否与绑定sim卡一致,确定sim卡是否被更换。

图7示出了本申请一实施例提供的再一种基于区块链的机卡绑定方法的流程图。在图1至图6所示实施例的基础上,本实施例除了可以实现机卡绑定,还可以实现机卡验证,从而确定sim卡是否为终端的初始绑定sim卡,或者终端是否为sim卡的初始绑定终端。如图7所示,以服务器为执行主体,本实施例的方法可以包括如下步骤:

s301、获取sim卡第一签名消息和终端第一身份公钥。

s302、根据sim卡第一签名消息和终端第一身份公钥,生成sim卡新区块,sim卡新区块包括数据块标识和数据块数据,sim卡第一签名消息为数据块标识,终端第一身份公钥为数据块数据。

s303、将sim卡新区块插入sim卡区块链中。

其中,步骤s301至s303与图2实施例中的步骤s101至s103实现方式类似,本实施例此处不再赘述。

s304、获取待验证sim卡的sim卡第二签名消息、待验证终端的终端第二身份私钥和终端第二签名消息,sim卡第二签名消息为待验证sim卡的sim卡信息通过第一预设哈希算法加密得到,终端第二签名消息为待验证终端的终端信息通过第二预设哈希算法加密得到,终端第二身份私钥根据待验证终端的终端特征编码生成。

本实施例中,服务器在获取待验证终端发送的验证请求后,根据该验证请求确定其对应的sim卡第二签名消息、终端第二身份私钥和终端第二签名消息。

其中,该验证请求可以在该终端再次开机时或者再次申请入网时,由该待验证终端向服务器发送。

其中,该待验证终端的sim卡第二签名消息、终端第二身份私钥和终端第二签名消息可以为服务器从该验证请求中获取。

或者,该sim卡第二签名消息、终端第二身份私钥和终端第二签名消息还可以为服务器从内存中获取。此时,该验证请求中包括待验证sim卡的sim卡特征编码和待验证终端的终端特征编码。服务器根据该sim卡特征编码和终端特征编码直接从服务器的内存中获取。

或者,该sim卡第二签名消息、终端第二身份私钥和终端第二签名消息还可以为服务器根据待验证sim卡的sim卡特征编码和sim卡信息以及待验证终端的终端特征编码和终端信息生成。其中,该生成过程与图2实施例中的步骤s101实现方式类似,本实施例此处不再赘述。

s305、将待验证终端的终端数字签名、终端第二签名消息和sim卡第二签名消息上报sim卡区块链,终端数字签名通过终端第二身份私钥对终端第二签名消息进行数字签名得到。

本实施例中,服务器在获取终端第二身份私钥和终端第二签名消息后,使用终端第二身份私钥对终端第二签名消息进行数字签名,得到终端数字签名。服务器将该终端数字签名、终端第二签名消息和sim卡第二签名消息一起上报到sim卡区块链。

s306、将所有sim卡区块链的数据块标识与sim卡第二签名消息进行匹配,确定待验证sim卡的sim卡区块。

本实施例中,区块链根据服务器上报的sim卡第二签名消息,在sim卡区块链中匹配与之对应的待验证sim卡的sim卡区块。具体的,服务器获取该sim卡区块链中每一sim卡区块的数据块标识。服务器通过匹配该数据块标识与sim卡第二签名消息,确定该sim卡区块链中与数据块标识与sim卡第二签名消息相同的sim卡区块。服务器确定该sim卡区块为待验证sim卡的sim卡区块。

s307、根据待验证sim卡的sim卡区块中的终端第一身份公钥和终端第二签名消息验证终端数字签名,并确定验证结果。

本实施例中,服务器在确定该待验证sim卡的sim卡区块后,获取该sim卡区块的数据块数据。该数据块数据为该待验证的sim卡的原始匹配终端的终端第一身份公钥。服务器根据原始匹配终端的终端第一身份公钥和终端第二签名消息,对终端数字签名进行验证。如果验证成功则说明待验证终端与该原始匹配终端为同一个终端。如果验证失败则说明待验证终端与该原始匹配终端为不同终端。

s308、获取终端第一签名消息和sim卡第一身份公钥。

s309、根据终端第一签名消息和sim卡第一身份公钥,生成终端新区块,终端新区块包括数据块标识和数据块数据,终端第一签名消息为数据块标识,sim卡第一身份公钥为数据块数据。

s310、将终端新区块插入终端区块链中。

其中,步骤s308至s310与图5实施例中的步骤s201至s203实现方式类似,本实施例此处不再赘述。

s311、获取待验证sim卡的sim卡第二签名消息、sim卡第二身份私钥和待验证终端的终端第二签名消息,sim卡第二签名消息为待验证sim卡的sim卡信息通过第一预设哈希算法加密得到,sim卡第二身份私钥根据待验证终端的终端特征编码生成,终端第二签名消息为终端信息通过第二预设哈希算法加密得到。

本实施例中,服务器在获取待验证终端发送的验证请求后,根据该验证请求确定其对应的sim卡第二签名消息、sim卡第二身份私钥和终端第二签名消息。

其中,该验证请求可以在该终端再次开机时或者再次申请入网时,由该待验证终端向服务器发送。

其中,该待验证终端的sim卡第二签名消息、sim卡第二身份私钥和终端第二签名消息可以为服务器从该验证请求中获取。

或者,该sim卡第二签名消息、sim卡第二身份私钥和终端第二签名消息还可以为服务器从内存中获取。此时,该验证请求中包括待验证sim卡的sim卡特征编码和待验证终端的终端特征编码。服务器根据该sim卡特征编码和终端特征编码直接从服务器的内存中获取。

或者,该sim卡第二签名消息、sim卡第二身份私钥和终端第二签名消息还可以为服务器根据待验证sim卡的sim卡特征编码和sim卡信息以及待验证终端的终端特征编码和终端信息生成。其中,该生成过程与图2实施例中的步骤s101实现方式类似,本实施例此处不再赘述。

s312、将待验证sim卡的sim卡数字签名、sim卡第二签名消息和终端第二签名消息上报终端区块链,sim卡数字签名通过sim卡第二身份私钥对sim卡第二签名消息进行数字签名得到。

本实施例中,服务器在获取sim卡第二身份私钥和sim卡第二签名消息后,使用sim卡第二身份私钥对sim卡第二签名消息进行数字签名,得到sim卡数字签名。服务器将该sim卡数字签名、sim卡第二签名消息和终端第二签名消息一起上报到终端区块链。

s313、将所有终端区块链的数据块标识与终端第二签名消息进行匹配,确定待验证终端的终端区块。

本实施例中,区块链根据服务器上报的终端第二签名消息,在终端区块链中匹配与之对应的待验证终端的终端区块。具体的,服务器获取该终端区块链中每一终端区块的数据块标识。服务器通过匹配该数据块标识与终端第二签名消息,确定该终端区块链中与数据块标识与终端第二签名消息相同的终端区块。服务器确定该终端区块为待验证终端的终端区块。

s314、根据待验证终端的终端区块中的sim卡第一身份公钥和sim卡第二签名消息验证sim卡数字签名,并确定验证结果。

本实施例中,服务器在确定该待验证终端的终端区块后,获取该终端区块的数据块数据。该数据块数据为该待验证的终端的原始匹配sim卡的sim卡第一身份公钥。服务器根据原始匹配sim卡的sim卡第一身份公钥和sim卡第二签名消息,对sim卡数字签名进行验证。如果验证成功则说明待验证sim卡与该原始匹配sim卡为同一sim卡。如果验证失败则说明待验证sim卡与该原始匹配sim卡为不同sim卡。

s315、根据验证结果,判断是否出现机卡分离。

本实施例中,服务器获取s307或者s308确定的验证结果。服务器根据该验证结果,确定该待验证sim卡与该待验证终端是否为原始匹配的sim卡与终端。如果该待验证sim卡与该待验证终端为原始匹配的sim卡与终端,则未出现机卡分离。如果该待验证sim卡与该待验证终端与原始匹配的sim卡与终端不一致,则出现机卡分离。

s316、当机卡分离时,对待验证终端或者待验证sim卡进行限制入网。

本实施例中,当出现机卡分离情况时,服务器对待验证终端或者待验证sim卡进行限制入网,以确保机卡绑定的有效性。

本申请提供的基于区块链的机卡绑定方法,服务器通过将sim卡与终端的绑定信息分别保存到sim卡区块链和终端区块链,实现sim卡和终端的双向绑定。同时,服务器通过验证待验证sim的绑定终端与待验证终端是否一致,以及待验证终端的绑定sim卡是否与待验证sim卡一致,确定是否出现机卡分离。当服务器确定出现机卡分离时,服务器对该待验证终端或者待验证sim卡进行限制入网。本申请中,通过对待验证终端或者待验证sim卡进行双向验证,确保了sim卡与终端绑定的唯一性,提高了绑定的可靠性,并且在要求sim卡与终端唯一绑定的场景下,实现了机卡绑定的有效性。

在上述实施例的基础上,需要说明的是,本申请使用的基于数字签名机制的机卡绑定方法不仅限于生成sim卡区块和终端区块,并将之存储到对应的区块链中。该机卡绑定方法还可以生成sim卡数据表和终端数据表,并将该数据表存储到对应的大数据表中,或者存储到对应的数据库中。

图8示出了本申请一实施例提供的一种基于区块链的机卡绑定装置的结构示意图,如图8所示,本实施例的基于区块链的机卡绑定装置10用于实现上述任一方法实施例中对应于服务器的操作,本实施例的基于区块链的机卡绑定装置400还包括:

第一获取模块401,用于获取sim卡第一签名消息和终端第一身份公钥。

第一生成模块402,用于根据sim卡第一签名消息和终端第一身份公钥,生成sim卡新区块,sim卡新区块包括数据块标识和数据块数据,sim卡第一签名消息为数据块标识,终端第一身份公钥为数据块数据。

第一插入模块403,用于将sim卡新区块插入sim卡区块链中。

一种示例中,sim卡数据的生成过程可以包括:根据sim卡特征编码,生成sim卡第一身份私钥和sim卡第一身份公钥。根据sim卡信息和第一预设哈希算法,生成sim卡第一签名消息,sim卡第一签名消息为sim卡信息通过第一预设哈希算法加密得到。

另一种示例中,终端数据的生成过程可以包括:根据终端特征编码,生成终端第一身份私钥和终端第一身份公钥。根据终端信息和第二预设哈希算法,生成终端第一签名消息,终端第一签名消息为终端信息通过第二预设哈希算法加密得到。

本申请实施例提供的基于区块链的机卡绑定装置10,可执行上述方法实施例,其具体实现原理和技术效果,可参见上述方法实施例,本实施例此处不再赘述。

图9示出了本申请一实施例提供的另一种基于区块链的机卡绑定装置的结构示意图,如图9所示,本实施例的基于区块链的机卡绑定装置10用于实现上述任一方法实施例中对应于服务器的操作,本实施例的基于区块链的机卡绑定装置10还包括:

第二获取模块404,用于获取终端第一签名消息和sim卡第一身份公钥。

第二生成模块405,用于根据终端第一签名消息和sim卡第一身份公钥,生成终端新区块,终端新区块包括数据块标识和数据块数据,终端第一签名消息为数据块标识,sim卡第一身份公钥为数据块数据。

第二插入模块406,用于将终端新区块插入终端区块链中。

第三获取模块407,用于获取待验证sim卡的sim卡第二签名消息、待验证终端的终端第二身份私钥和终端第二签名消息,sim卡第二签名消息为待验证sim卡的sim卡信息通过第一预设哈希算法加密得到,终端第二签名消息为待验证终端的终端信息通过第二预设哈希算法加密得到,终端第二身份私钥根据待验证终端的终端特征编码生成。

第一上报模块408,用于将待验证终端的终端数字签名、终端第二签名消息和sim卡第二签名消息上报sim卡区块链,终端数字签名通过终端第二身份私钥对终端第二签名消息进行数字签名得到。

第一确定模块409,用于将所有sim卡区块链的数据块标识与sim卡第二签名消息进行匹配,确定待验证sim卡的sim卡区块。

第一验证模块410,用于根据待验证sim卡的sim卡区块中的终端第一身份公钥和终端第二签名消息验证终端数字签名,并确定验证结果。

第四获取模块411,用于获取待验证sim卡的sim卡第二签名消息、sim卡第二身份私钥和待验证终端的终端第二签名消息,sim卡第二签名消息为待验证sim卡的sim卡信息通过第一预设哈希算法加密得到,sim卡第二身份私钥根据待验证终端的终端特征编码生成,终端第二签名消息为终端信息通过第二预设哈希算法加密得到。

第二上报模块412,用于将待验证sim卡的sim卡数字签名、sim卡第二签名消息和终端第二签名消息上报终端区块链,sim卡数字签名通过sim卡第二身份私钥对sim卡第二签名消息进行数字签名得到。

第二确定模块413,用于将所有终端区块链的数据块标识与终端第二签名消息进行匹配,确定待验证终端的终端区块。

第二验证模块414,用于根据待验证终端的终端区块中的sim卡第一身份公钥和sim卡第二签名消息验证sim卡数字签名,并确定验证结果。

判断模块415,用于根据验证结果,判断是否出现机卡分离。

限制模块416,用于当机卡分离时,对待验证终端或者待验证sim卡进行限制入网。

本申请实施例提供的基于区块链的机卡绑定装置10,可执行上述方法实施例,其具体实现原理和技术效果,可参见上述方法实施例,本实施例此处不再赘述。

图10示出了本申请实施例提供的一种基于区块链的机卡绑定系统的结构示意图。如图10所示,该基于区块链的机卡绑定系统20,用于实现上述基于区块链的机卡绑定方法,本实施例的基于区块链的机卡绑定系统20可以包括:注册单元21、验证单元22和执行单元23。

注册单元21,用于在终端第一次开机或者sim卡第一绑定时,生成sim卡区块或者终端区块。其中,sim卡区块以sim卡第一签名消息为数据块标识,以终端第一身份公钥为数据块数据。其中,终端区块以终端第一签名消息为数据块标识,sim卡第一身份公钥为数据块数据。服务器将sim卡区块插入sim卡区块链,将终端区块插入终端区块链。

验证单元22,用于在终端再次开机或者再次请求入网时,向服务器发送该待验证终端及插入该待验证终端的待验证sim卡是否匹配。服务器根据sim卡第二签名消息,在sim卡区块链中检索数据块标识与sim卡第二签名消息相同的区块,并确定该sim卡区块为待验证sim卡对应的sim卡区块。服务器获取该sim卡区块中的终端第一身份公钥,并结合上报的终端第二签名消息对终端数字签名进行验证。服务器还可以根据中断第二签名消息,在终端区块链中检索数据块标识与该终端第二签名消息相同的区块,并确定该终端区块为待验证终端的终端区块。服务器获取该终端区块中的sim卡第一身份公钥,并结合上报的sim卡第二签名消息对sim卡数字签名进行验证。验证单元将该验证结果发送到执行单元。

执行单元23,当该待验证终端与待验证sim卡出现机卡分离时,服务器对该待验证终端或者该待验证sim卡执行限制入网操作。

单元可以集成在一起,也可以分开在不同的设备中。例如,注册单元21、验证单元22和执行单元23均为服务器中的功能单元。或者,注册单元21、验证单元22集成于服务器,执行单元23为网络设备中的单元,网络设备例如路由器。

本申请实施例提供的基于区块链的机卡绑定装置10,可执行上述方法实施例,其具体实现原理和技术效果,可参见上述方法实施例,本实施例此处不再赘述。

图11示出了本申请实施例提供的一种服务器的硬件结构示意图。如图11所示,该服务器30,用于实现上述任一方法实施例中对应于服务器的操作,本实施例的服务器30可以包括:存储器31,处理器32。

存储器31,用于存储计算机程序。该存储器31可能包含高速随机存取存储器(randomaccessmemory,ram),也可能还包括非易失性存储(non-volatilememory,nvm),例如至少一个磁盘存储器,还可以为u盘、移动硬盘、只读存储器、磁盘或光盘等。

处理器32用于根据存储器存储的计算机程,以实现上述实施例中的基于区块链的机卡绑定方法。具体可以参见前述方法实施例中的相关描述。

可选地,存储器31既可以是独立的,也可以跟处理器32集成在一起。

当存储器31是独立于处理器32之外的器件时,服务器30还可以包括:

总线33,用于连接存储器31和处理器32。其中,总线33可以是工业标准体系结构(industrystandardarchitecture,isa)总线、外部设备互连(peripheralcomponentinterconnect,pci)总线或扩展工业标准体系结构(extendedindustrystandardarchitecture,eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。

可选的,该服务器30还可以包括通信接口34。该通信接口34可以通过总线33与处理器32连接。处理器32可以控制通信接口34来实现服务器30与终端的信息交互。

本实施例提供的服务器可用于执行上述的基于区块链的机卡绑定方法,其实现方式和技术效果类似,本实施例此处不再赘述。

本申请还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时用于实现上述的各种实施方式提供的方法。

本申请还提供一种程序产品,该程序产品包括执行指令,该执行指令存储在计算机可读存储介质中。设备的至少一个处理器可以从计算机可读存储介质读取该执行指令,至少一个处理器执行该执行指令使得设备实施上述的各种实施方式提供的方法。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。

作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述模块成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本申请各个实施例方法的部分步骤。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤。而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制。尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换。而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

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