基于区块链的应用程序的注册系统、方法和装置与流程

文档序号:15062014发布日期:2018-07-31 22:01阅读:180来源:国知局

本发明涉及互联网技术领域,尤其涉及一种基于区块链的应用程序的注册系统、方法和装置。



背景技术:

目前,现有的应用程序注册流程中,需要提供用户的真实信息,例如手机号、身份证号等以实现对用户的身份认证,通过设置的密码来提高用户真实信息的安全性。但由于账号/密码的安全性只依赖于密码的强度,密码一般同时存在与终端侧和网络侧,密码在传输的过程中容易被窃听或者骗取。而高性能计算机、破解技术和社会工程学的发展对密码体系造成了严重的威胁,仅仅以暴力破解为例,通过彩虹表等一系列技术手段md5已经被攻破,而一旦密码被破解,用户的真实信息就会被盗取或者用户的身份被假冒等,从而引发较大的安全事故。

因此,如何保证注册过程中用户信息的安全性,避免注册后使用过程中用户账号和密码被破解时所导致的用户信息丢失等问题的发生。



技术实现要素:

本发明实施例提供一种基于区块链的应用程序的注册系统、方法和装置,用于解决现有技术中的密码被破解或丢失后,注册过程中使用的用户信息的不安全问题。

第一方面,本发明实施例提供一种基于区块链的应用程序的注册系统,包括:区块链网络、应用程序的服务器和安装有客户端的移动终端,其中:

所述客户端,用于获取应用程序的身份信息,所述身份信息为所述应用程序的服务器对所述应用程序的域名信息进行加密处理得到的;并向区块链网络发送验证请求,所述验证请求中携带有所述应用程序的标识信息和身份信息;以及接收所述区块链网络返回的验证结果;若确定出所述验证结果为验证成功,则向所述应用程序的服务器发送注册请求,所述注册请求中携带有待注册用户的化身信息,所述化身信息为根据所述待注册用户的身份信息和所述应用程序的身份信息进行转换和加密处理得到的;以及接收所述应用程序的服务器返回的注册结果;

所述区块链网络,用于根据所述应用程序的标识信息和身份信息、存储的应用程序的标识信息和身份信息的对应关系对所述应用程序进行验证,并将得到的验证结果发送给所述客户端;

所述应用程序的服务器,用于根据接收到的所述待注册用户的化身信息,对所述身份信息进行验证,并将得到的验证结果携带在注册结果中发送给所述客户端。

较佳地,所述应用程序的服务器,具体向所述区块链网络发送注册请求,所述注册请求中携带有所述应用程序的身份信息和所述应用程序的标识信息;接收所述区块链网络返回的注册结果;

所述区块链网络,用于根据所述标识信息,确定所述标识信息对应的解密信息,若利用所述解密信息对所述应用程序的身份信息解析成功,则存储所述应用程序的标识信息和身份信息的对应关系,并向所述应用程序的服务器返回注册成功的注册结果。

优选地,所述应用程序的服务器,用于根据所述应用程序的身份信息生成图形认证码;以及

所述客户端,具体用于通过扫描所述图形认证码获取应用程序的身份信息。

较佳地,所述客户端,用于在向所述应用程序发送注册请求之前,将所述待注册用户的化身信息存储到所述区块链网络中。

优选地,所述应用程序的服务器,具体用于若对所述待注册用户的化身信息进行验证的验证结果为验证成功,则为所述待注册用户分配唯一的账号信息,并将得到的验证成功的验证结果以及所述账号信息携带在注册结果中发送给所述客户端;以及对所述待注册用户的化身信息和账号信息进行加密处理,并将处理结果发送给所述区块链网络;

所述客户端,具体用于根据所述注册结果中包含的所述账号信息,登录所述应用程序;

所述区块链网络,具体用于对接收到的所述处理结果进行解密处理,若解密成功,则利用所述待注册用户的化身信息和账号信息,更新所述待注册用户的关联列表,所述关联列表中存储有化身信息和账号信息的对应关系。

优选地,所述系统,还包括:

空间数据引擎sde,用于接收所述区块链发送的、更新后的所述待注册用户的关联列表,并根据所述关联列表中存储的对应关系对接收到的客户端发送的登录请求进行验证。

第二方面,本发明实施例提供一种终端侧的基于区块链的应用程序的注册方法,包括:

获取应用程序的身份信息,所述身份信息为所述应用程序的服务器对所述应用程序的域名信息进行加密处理得到的;并

向区块链网络发送验证请求,所述验证请求中携带有所述应用程序的标识信息和身份信息;以及

接收所述区块链网络返回的验证结果,所述验证结果为所述区块链网络根据所述应用程序的标识信息和身份信息、存储的应用程序的标识信息和身份信息的对应关系对所述应用程序进行验证得到的;

若确定出所述验证结果为验证成功,则向所述应用程序的服务器发送注册请求,所述注册请求中携带有待注册用户的化身信息,所述化身信息为根据所述待注册用户的身份信息和所述应用程序的身份信息进行转换和加密处理得到的;

接收所述应用程序的服务器返回的注册结果,所述注册结果中包含有所述应用程序的服务器对所述待注册用户的化身信息进行验证的验证结果。

第三方面,本发明实施例提供一种网络侧的基于区块链的应用程序的注册方法,包括:

接收客户端发送的验证请求,所述验证请求中携带有所述应用程序的标识信息和身份信息,所述身份信息为所述应用程序的服务器对所述应用程序的域名信息进行加密处理得到的;

根据所述应用程序的标识信息和身份信息、存储的应用程序的标识信息和身份信息的对应关系对所述应用程序进行验证;并

将得到的验证结果发送给所述客户端,以使所述客户端若确定出所述验证结果为验证成功,则向所述应用程序的服务器发送注册请求,所述注册请求中携带有待注册用户的化身信息,所述化身信息为根据所述待注册用户的身份信息和所述应用程序的身份信息进行转换和加密处理得到的。

第四方面,本发明实施例提供一种服务器侧的基于区块链的应用程序的注册方法,包括:

接收客户端发送的注册请求,所述注册请求中携带有待注册用户的化身信息,所述化身信息为根据所述待注册用户的身份信息和应用程序的身份信息进行转换和加密处理得到的,其中所述注册请求为所述客户端在接收到区块链网络返回的验证结果为验证成功后向所述应用程序的服务器发送的,所述验证结果为所述区块链网络根据所述客户端发送的验证请求中携带的所述应用程序的标识信息和身份信息、存储的应用程序的标识信息和身份信息的对应关系对所述应用程序进行验证得到的;并

对所述待注册用户的化身信息进行验证,并将得到的验证结果携带在注册结果中发送给所述客户端。

第五方面,本发明实施例提供一种终端侧的基于区块链的应用程序的注册装置,包括:

获取单元,用于获取应用程序的身份信息,所述身份信息为所述应用程序的服务器对所述应用程序的域名信息进行加密处理得到的;

第一发送单元,用于向区块链网络发送验证请求,所述验证请求中携带有所述应用程序的标识信息和身份信息;

第一接收单元,用于接收所述区块链网络返回的验证结果,所述验证结果为所述区块链网络根据所述应用程序的标识信息和身份信息、存储的应用程序的标识信息和身份信息的对应关系对所述应用程序进行验证得到的;

第二发送单元,用于若确定出所述验证结果为验证成功,则向所述应用程序的服务器发送注册请求,所述注册请求中携带有待注册用户的化身信息,所述化身信息为根据所述待注册用户的身份信息和所述应用程序的身份信息进行转换和加密处理得到的;

第二接收单元,用于接收所述应用程序的服务器返回的注册结果,所述注册结果中包含有所述应用程序的服务器对所述待注册用户的化身信息进行验证的验证结果。

第六方面,本发明实施例提供一种网络侧的基于区块链的应用程序的注册装置,包括:

第一接收单元,用于接收客户端发送的验证请求,所述验证请求中携带有所述应用程序的标识信息和身份信息,所述身份信息为所述应用程序的服务器对所述应用程序的域名信息进行加密处理得到的;

验证单元,用于根据所述应用程序的标识信息和身份信息、存储的应用程序的标识信息和身份信息的对应关系对所述应用程序进行验证;

第一发送单元,用于将所述验证单元得到的验证结果发送给所述客户端,以使所述客户端若确定出所述验证结果为验证成功,则向所述应用程序的服务器发送注册请求,所述注册请求中携带有待注册用户的化身信息,所述化身信息为根据所述待注册用户的身份信息和所述应用程序的身份信息进行转换和加密处理得到的。

第七方面,本发明实施例提供一种服务器侧的基于区块链的应用程序的注册装置,包括:

第一接收单元,用于接收客户端发送的注册请求,所述注册请求中携带有待注册用户的化身信息,所述化身信息为根据所述待注册用户的身份信息和应用程序的身份信息进行转换和加密处理得到的,其中所述注册请求为所述客户端在接收到区块链网络返回的验证结果为验证成功后向所述应用程序的服务器发送的,所述验证结果为所述区块链网络根据所述客户端发送的验证请求中携带的所述应用程序的标识信息和身份信息、存储的应用程序的标识信息和身份信息的对应关系对所述应用程序进行验证得到的;

验证单元,用于对所述待注册用户的化身信息进行验证,并将得到的验证结果携带在注册结果中发送给所述客户端。

第八方面,本发明实施例提供一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行本申请提供的终端侧的基于区块链的应用程序的注册方法,或者用于执行本申请提供的网络侧的基于区块链的应用程序的注册方法,或者用于执行本申请提供的服务器侧的基于区块链的应用程序的注册方法。

第九方面,本发明实施例提供一种电子设备,包括:

至少一个处理器;以及

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请提供的终端侧的基于区块链的应用程序的注册方法,或者能够执行本申请提供的网络侧的基于区块链的应用程序的注册方法,或者能够执行本申请提供的服务器侧的基于区块链的应用程序的注册方法。

本发明有益效果:

本发明实施例提供的基于区块链的应用程序的注册系统、方法和装置,获取应用程序的身份信息,所述身份信息为所述应用程序的服务器对所述应用程序的域名信息进行加密处理得到的;并向区块链网络发送验证请求,所述验证请求中携带有所述应用程序的标识信息和身份信息;以及接收所述区块链网络返回的验证结果,所述验证结果为所述区块链网络根据所述应用程序的标识信息和身份信息、存储的应用程序的标识信息和身份信息的对应关系对所述应用程序进行验证得到的;若确定出所述验证结果为验证成功,则向所述应用程序的服务器发送注册请求,所述注册请求中携带有待注册用户的化身信息,所述化身信息为根据所述待注册用户的身份信息和所述应用程序的身份信息进行转换和加密处理得到的;接收所述应用程序的服务器返回的注册结果,所述注册结果中包含有所述应用程序的服务器对所述待注册用户的化身信息进行验证的验证结果。采用上述方法,在待注册用户注册应用程序的过程中,先基于区块链网络对该应用程序进行验证,在验证通过后再注册该应用程序,在向该应用程序的服务器发送注册请求之前,通过对待注册用户的真实信息进行转换和加密处理得到该用户的化身信息,然后再将该化身信息携带在注册请求中。这样一来,即使后期应用程序的服务器被攻击导致账号和密码被破解,由于注册时使用的是用户的化身信息,攻击者也无法获知用户的真实信息,由此提高了用户的真实信息的安全性。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1a为本发明实施例一提供的基于区块链的应用程序的注册系统的结构示意图;

图1b为本发明实施例一提供的系统中各个设备之间的交互流程示意图;

图1c为本发明实施例一提供的生成待注册用户的化身信息的流程示意图;

图1d为本发明实施例一提供的应用程序的服务器将得到的验证结果携带在注册结果中发送给所述客户端的流程示意图;

图1e为本发明实施例一提供的区块链网络对接收到的处理结果进行处理的流程示意图;

图2为本发明实施例一提供的存储应用程序的标识信息和身份信息的对应关系的流程示意图;

图3a为本发明实施例二提供的终端侧的基于区块链的应用程序的注册方法的流程示意图;

图3b为本发明实施例二提供的待注册用户注册客户端时为待注册用户呈现的界面图一;

图3c为本发明实施例二提供的待注册用户注册客户端时为待注册用户呈现的界面图二;

图3d为本发明实施例二提供的待注册用户注册客户端时为待注册用户呈现的界面图三;

图3e为本发明实施例二提供的待注册用户注册客户端时为待注册用户呈现的界面图四;

图4为本发明实施例三提供的网络侧的基于区块链的应用程序的注册方法的流程示意图;

图5为本发明实施例四提供的服务器侧的基于区块链的应用程序的注册方法的流程示意图;

图6为本发明实施例五提供的终端侧的基于区块链的应用程序的注册装置的结构示意图;

图7为本发明实施例六提供的网络侧的基于区块链的应用程序的注册装置的结构示意图;

图8为本发明实施例七提供的服务器侧的基于区块链的应用程序的注册装置的结构示意图。

具体实施方式

本发明实施例提供的基于区块链的应用程序的注册系统、方法和装置,用于解决现有技术中的密码被破解或丢失后,注册过程中使用的用户信息的不安全问题。

以下结合说明书附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明,并且在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。

实施例一

如图1a所示,为本发明实施例一提供的基于区块链的应用程序的注册系统的结构示意图,包括区块链网络、应用程序的服务器(图1中的应用程序的服务器1~n)和安装有客户端的移动终端,彼此之间的交互流程图参考图1b所示,可以包括以下步骤:

s11、客户端获取应用程序的身份信息。

所述身份信息为所述应用程序的服务器对所述应用程序的域名信息进行加密处理得到的;

具体实施时,每个应用程序都具有url地址,该地址中包括域名信息,因此针对任一应用程序,由该应用程序的服务器可以基于该应用程序的url地址,对该应用程序的域名信息及预设的随机数进行加密处理获得该应用程序的身份信息,然后根据所述身份信息生成图形认证码。

客户端想要注册某应用程序时,可以扫描该应用程序的图形认证码,由于该图形认证码是基于应用程序的身份信息生成的,故客户端可以识别出该应用程序的身份信息,由此获取了应用程序的身份信息。

较佳地,所述图像认证码可以但不限于为二维码等。

s12、客户端向区块链网络发送验证请求。

所述验证请求中携带有所述应用程序的标识信息和身份信息;

为了保证待注册用户的用户信息的安全性,待注册用户在利用客户端注册应用程序之前,先验证该应用程序的可靠性,待验证通过后再注册该应用程序,故客户端会将应用程序的身份信息和标识信息携带在验证请求中发送给区块链网络。

具体地,在获得应用程序的标识信息时,一方面可以从图形认证码中获取,即应用程序的服务器基于应用程序的身份信息和标识信息共同生成图形认证码,由此客户端在扫描该图像认证码时获得该应用程序的标识信息;另一方面,客户端期望注册某个应用程序时,对该应用程序的功能和名称是大致了解的,故客户端可以主动获取该应用程序的标识信息,然后将标识信息和身份信息携带在验证请求发送给区块链网络中,由区块链网络对该应用程序的可信度进行验证。

s13、区块链网络根据所述应用程序的标识信息和身份信息、存储的应用程序的标识信息和身份信息的对应关系对所述应用程序进行验证。

具体地,区块链网络在接收到验证请求后,根据验证请求中携带的所述应用程序的标识信息和身份信息,以及预先存储的应用程序的标识信息和身份信息的对应关系,如果在预先存储的对应关系中找到验证请求中应用程序的标识信息和身份信息,则确定对所述应用程序验证通过,否则确定对所述应用程序验证不通过。

s14、将得到的验证结果发送给所述客户端。

具体地,将步骤s13得到的验证结果发送给客户端。

s15、客户端若确定出所述验证结果为验证成功,则向所述应用程序的服务器发送注册请求。

具体实施时,区块链网络若确定出对所述应用程序验证通过,则将验证通过的验证结果返回给客户端。客户端在得到验证成功的验证结果,则确定区块链网络对所述应用程序验证通过,同时也表明该应用程序是可信的,用户可以通过客户端注册该应用程序。通过执行步骤s11~s15的流程,在确定出应用程序是可信的条件下再进行注册,由此可以防止用户的身份信息因注册不可信应用而丢失等情况的发生。

较佳地,所述注册请求中携带有待注册用户的化身信息,所述化身信息为根据所述待注册用户的身份信息和所述应用程序的身份信息进行转换和加密处理得到的。

较佳地,所述待注册用户的身份信息为待注册用户在注册所述客户端时,根据用户的真实信息和待注册用户所使用的终端的硬件信息进行转换处理得到的。优选地,待注册用户的真实信息可以但不限于为姓名、手机号、邮箱和身份证号码和用户的声音数据等;所述待注册用户所使用的终端的硬件信息可以但不限于为终端硬盘序列号和mac地址等。

具体地,客户端在根据区块链网络返回的验证结果确定出对应用程序验证通过后,则根据待注册用户的身份信息和所述应用程序的身份信息进行转换和加密处理。具体地,先从所述应用程序的身份信息中解析出所述应用程序的域名信息,然后可以利用前沿密码学技术将用户的身份信息和应用程序的域名信息进行转换和加密处理,得到一串代表用户身份的字符串,该字符串即为所述待注册用户的化身信息。

较佳地,所述化身信息可以但不限于为48字节的随机码。

在获得待注册用户的化身信息的过程中,还会得到化身公钥和化身私钥,具体可以参考图1c所示的流程。由于针对不同的应用程序所需的注册信息不同,故针对不同的应用程序需要用户提供的身份信息也有所不同。图1c中用一个身份信息指示用户需要提供的真实信息。例如,待注册用户需要注册微博应用程序之前,在对微博应用程序的可靠性验证通过后,先根据微博应用程序的域名信息和微博应用程序需要待注册用户提供的身份信息,生成微博化身私钥,然后再生成微博化身公钥,最后基于哈希算法得到微博化身信息。同理,对于互联网游应用程序,可以基于互联网游需要待注册用户提供的身份信息和互联网游的域名信息,得到互联网游、私钥、公钥和化身信息;对于禅城一门式应用程序,可以基于禅城一门式需要待注册用户提供的身份信息和禅城一门式应用程序的域名信息,得到禅城一门式私钥、公钥和化身信息。

在基于上述过程获得待注册用户的化身信息后,将所述化身信息携带在注册请求中发送给应用程序的服务器。由于采用化身信息代替待注册用户的身份信息,使其具有匿名性、安全性和隔离性的优势,同时可以减轻用户管理和维护大量注册账号的负担。

较佳地,在向所述应用程序发送注册请求之前,还包括:

将所述待注册用户的化身信息存储到所述区块链网络中。

具体实施时,当用户基于应用程序得到化身信息后,当用户遗忘所述化身信息时,为了方便用户及时找到化身信息,客户端在获得化身信息后,可以将所述化身信息存储到区块链网络中,即区块链可以针对各个用户,维护一张关联列表,该关联列表中存储有用户的标识信息和基于不同应用程序的化身信息。当用户遗忘其化身信息后,可以向区块链网络发送挂失请求,区块链网络基于智能合约及dhka(diffie-hellmankeyexchange/agreementalgorithm,diffie-hellman密钥交换协议/算法)算法可以完成用户的挂失处理,从而减少了应用程序的服务器的处理负担。

s16、应用程序的服务器根据接收到的所述待注册用户的化身信息,对所述化身信息进行验证。

具体实施时,应用程序的服务器在接收到加密处理后的化身信息后,对所述化身信息进行解密处理,若解密成功,则对解析出的应用程序的身份信息进行解密处理,可以得到应用程序的域名信息和随机数,如果确定出解析出的域名信息和随机数与预先用于生成应用程序的身份信息所使用的域名信息和随机数一致,则确定对待注册用户的化身信息验证通过;否则确定对待注册用户的身份信息验证不通过。

此外,对于服务器侧,由于接收到的是用户的化身信息,则在服务器中存储的也为化身信息,即使服务器被攻陷后,由于该化身信息并不是用户的身份信息,故不会造成像现有技术中账户/密码泄露后用户的大量真实信息丢失的情况发生,由此保证了用户真实信息的安全性。

由于应用程序的服务器无需识别用户的真实身份,只要对用户的化身信息验证通过后,即可为用户提供服务,例如微博应用的服务器在对用户的化身信息验证通过后,则可以通过微博应用程序向用户推送头条信息等。应用程序的服务器不需要用户提供真实信息,仅仅需要用户每次登陆使用同一个id。此外,用户还可以自行选择将化身信息与业务系统原有的身份相关联,以享受更好的服务。

s17、应用程序的服务器将得到的验证结果携带在注册结果中发送给所述客户端。

具体实施时,应用程序的服务器基于步骤s16即可获得注册结果,如果客户端确定出注册成功则可以登录应用程序,例如登录微博应用程序浏览热点等消息。

较佳地,应用程序的服务器可以按照图1d所示的流程实施步骤s17,包括以下步骤:

s21、若对所述待注册用户的化身信息进行验证的验证结果为验证成功,则为所述待注册用户分配唯一的账号信息。

s22、将得到的验证成功的验证结果以及所述账号信息携带在注册结果中发送给所述客户端。

具体实施时,应用程序的服务器根据步骤s16对待注册用户的身份信息验证通过后,则表明待注册用户是可信的,同时可以为所述待注册用户分配唯一的账号信息。例如为待注册用户分配一个唯一的微博账号。然后将分配的账号信息携带在注册结果中反馈给客户端。客户端在接收到该注册结果后,即可根据所述注册结果中包含的所述账号信息,登录所述应用程序。

另一方面,为了便于维护用户的化身信息和应用程序的服务器分配的账号信息,应用程序的服务器可以记录待注册用户的化身信息和为其分配的账号信息;同时还可以对所述待注册用户的化身信息和账号信息进行加密处理,并将处理结果发送给所述区块链网络,以使区块链网络按照图1e所示的流程实施,包括以下步骤:

s31、接收所述应用程序的服务器发送的对所述待注册用户的化身信息和账号信息进行加密处理得到的处理结果。

s32、对接收到的所述处理结果进行解密处理,若解密成功,则利用所述待注册用户的化身信息和账号信息,更新所述待注册用户的关联列表。

所述关联列表中存储有化身信息和账号信息的对应关系。

具体实施时,由于区块链网络为每一个访问区块链网络的用户预先维护了一张关联列表,故在接收到应用程序的服务器发送的处理结果后,如果能够成功解密所述处理结果,则可以将解析出的待注册用户的化身信息和账号信息添加至所述关联列表中。具体地,由于待注册用户预先在区块链网络中存储了基于本次注册应用程序时得到的化身信息,区块链网络预先将客户端发送的化身信息存储到关联列表中,当接收到应用程序的服务器发送的处理结果后,可以根据解析出的化身信息找到存储有该化身信息的关联列表,然后再将账号信息添加至该关联列表中与该化身信息对应的位置,以建立化身信息与账号信息的对应关系。由此可以方便区块链网络对化身信息和账号信息的管理和维护,同时还便于后期用户的挂失处理。

较佳地,所述系统还包括:sde(spatialdatabaseengine,空间数据引擎),其中:

sde,用于接收所述区块链发送的、更新后的所述待注册用户的关联列表,并根据所述关联列表中存储的对应关系对接收到的客户端发送的登录请求进行验证。

具体实施时,由于区块链网络具有存储信息安全性较高的优势,这一优势也就反映了区块链网络的成本。为了减少成本,本发明在本地设置了一个sde引擎,在利用本发明提供的注册方法完成用户注册应用程序的流程之后,区块链网络可以将维护的关联列表发送至sde引擎,以使用户在下次登录应用程序时,客户端直接向sde引擎发送登录请求,由sde引擎完成对用户的登录请求的验证。这样一来,客户端在每次登录应用程序时,无需频繁访问区块链网络,由此可以减少区块链网络的资源消耗,且节约成本。

较佳地,区块链网络在执行步骤s13时,区块链网络中存储的应用程序的标识信息和身份信息的对应关系是按照图2所示的流程获得的,包括以下步骤:

s41、应用程序的服务器向区块链网络发送注册请求。

所述注册请求中携带有所述应用程序的身份信息和所述应用程序的标识信息。

具体实施时,所述应用程序的身份信息与步骤s11中客户端获得的应用程序的身份信息相同,该身份信息的生成过程可以参考步骤s11中的描述,重复之处不再赘述。

s42、区块链网络根据所述标识信息,确定所述标识信息对应的解密信息。

具体实施时,所述解密信息为公钥信息,即可以在区块链网络中预先存储各个合法应用程序的公钥信息和标识信息。区块链网络在接收到应用程序的服务器发送的注册请求后,可以根据所述注册请求中携带的标识信息,确定所述标识信息对应的公钥信息。

s43、区块链网络若利用所述解密信息对所述应用程序的身份信息解析成功,则存储所述应用程序的标识信息和身份信息的对应关系。

具体地,区块链网络在确定出公钥信息后,即可利用该公钥信息解析应用程序的身份信息,如果解析成功则表明本次注册请求为合法应用程序的注册请求,然后区块链网络即可存储应用程序的服务器发送的身份信息和标识信息,由此区块链网络即可对客户端发送的应用程序的身份信息进行验证。

s44、区块链网络向所述应用程序的服务器返回注册成功的注册结果。

需要说明的是,本发明设置sde引擎之后,需要应用程序的服务器异步向sde引擎进行注册,其注册过程与步骤s21~s24所示的注册流程类似,重复之处不再赘述。

本发明实施例提供的基于区块链的应用程序的注册系统,首先客户端获取应用程序的身份信息,然后将所述应用程序的身份信息携带在验证请求中发送给区块链网络。区块链网络根据所述应用程序的标识信息和身份信息、存储的应用程序的标识信息和身份信息的对应关系对所述应用程序进行验证,并将得到的验证结果发送给所述客户端,以使客户端基于所述验证结果确定对所述应用程序验证通过后,则向所述应用程序的服务器发送注册请求。应用程序的服务器根据所述注册请求中携带的待注册用户的化身信息,对所述化身信息进行验证,并将得到的验证结果携带在注册结果中发送给所述客户端。采用上述注册系统,客户端在注册应用程序之前,先由区块链网络对应用程序的可信度进行验证,待客户端根据区块链返回的验证结果确定应用程序是可信的之后,再向应用程序的服务器发送注册请求,应用程序的服务器在接收到注册请求后,也对待注册用户的化身信息进行验证,如果验证通过则表示待注册用户也是可信的,在建立互信的条件下注册应用程序,对用户的真实信息提供了保障机制。另外,由于待注册用户发送注册请求时,携带的是待注册用户的化身信息,是基于用户的真实身份信息和应用程序的身份信息进行转换和加密处理得到的,并不是用户的真实的身份信息,这样一来,即使后期应用程序的服务器被攻击导致账号和密码破解,由于注册时使用的是用户的化身信息,攻击者也无法获知用户的真实信息,由此提高了用户的真实信息的安全性。

实施例二

本发明实施例二在实施例一的基础上对终端侧提供的基于区块链的注册方法作进一步说明,如图3a所示,为本发明实施例二提供的终端侧的基于区块链的应用程序的注册方法的流程示意图,包括以下步骤:

s51、获取应用程序的身份信息,所述身份信息为所述应用程序的服务器对所述应用程序的域名信息进行加密处理得到的。

具体地,可以按照下述流程获取应用程序的身份信息,包括:

扫描应用程序的服务器为所述应用程序生成的图形认证码,获取应用程序的身份信息。

具体实施时,本发明实施例二中步骤s52的实施,可以参考本发明实施例一中步骤s11的实施过程,重复之处不再赘述。

s52、向区块链网络发送验证请求,所述验证请求中携带有所述应用程序的标识信息和身份信息。

s53、接收所述区块链网络返回的验证结果。

所述验证结果为所述区块链网络根据所述应用程序的标识信息和身份信息、存储的应用程序的标识信息和身份信息的对应关系对所述应用程序进行验证得到的。

s54、若确定出所述验证结果为验证成功,则向所述应用程序的服务器发送注册请求。

所述注册请求中携带有待注册用户的化身信息,所述化身信息为根据所述待注册用户的身份信息和所述应用程序的身份信息进行转换和加密处理得到的。

较佳地,在执行步骤54中向所述应用程序的服务器发送注册请求之前,还包括:

将所述待注册用户的化身信息存储到所述区块链网络中。

s55、接收所述应用程序的服务器返回的注册结果,所述注册结果中包含有所述应用程序的服务器对所述待注册用户的化身信息进行验证的验证结果。

较佳地,所述注册结果包括验证成功的验证结果以及所述账号信息,其中所述账号信息为所述应用程序的服务器若对所述待注册用户的化身信息进行验证的验证结果为验证成功,则为所述待注册用户唯一分配的;以及所述方法,还包括:

根据所述注册结果中包含的所述账号信息,登录所述应用程序。

具体实施时,可以参考本发明实施例一中步骤s11~s17中相应的实施流程,重复之处不再赘述。

需要说明的是,在执行步骤s11之前,待注册用户需要在客户端上进行注册,待注册成功后,再实施本发明提供的注册应用程序的方法。具体地,在客户端上进行注册时,首先客户端会向用户呈现如图3b所示的界面图,若用户已拥有账号表明其已注册过,则可以直接登录客户端;若没有注册则点击图3b中的注册按钮,然后按照客户端呈现给用户的界面进行注册;在注册过程中会出现图3c所示的界面,在该界面中客户端会采集待注册用户的真实信息、声音信息和终端的硬件信息,由此可以得到客户端为待注册用户生成的身份信息。在得到该身份信息后会呈现给待注册用户,待注册用户需要记住该身份信息,为客户端的是否安全的安全屏障。然后为了增强该客户端的安全系数,客户端还会出现提示待注册用户输入口令的界面,该口令用于后续本地验证,防止用户信息泄露;待用户成功输入口令后,会出现创建按钮,待注册用户可以点击该按钮,即可出现图3d所示的身份创建中的界面;待身份信息创建成功后,客户端会生成一个如图3e所示的二维码,以便用户忘记身份信息或遇到身份安全风险,或手机丢失的情况下,使用该二维码和身份信息找回待注册用户的身份,避免数据丢失。较佳地,图3e中还包括保存按钮和打印按钮,用户可以将该二维码信息保存或打印出来,可以根据用户需要自行选择。至此可以完成待注册用户注册客户端的流程。

实施例三

如图4所示,为本发明实施例三提供的网络侧的基于区块链的应用程序的注册方法的流程示意图,包括以下步骤:

s61、接收客户端发送的验证请求,所述验证请求中携带有所述应用程序的标识信息和身份信息。

所述身份信息为所述应用程序的服务器对所述应用程序的域名信息进行加密处理得到的。

s62、根据所述应用程序的标识信息和身份信息、存储的应用程序的标识信息和身份信息的对应关系对所述应用程序进行验证。

s63、将得到的验证结果发送给所述客户端。

以使所述客户端若确定出所述验证结果为验证成功,则向所述应用程序的服务器发送注册请求,所述注册请求中携带有待注册用户的化身信息,所述化身信息为根据所述待注册用户的身份信息和所述应用程序的身份信息进行转换和加密处理得到的。

较佳地,在执行步骤s61~63之前,还包括下述步骤:接收应用程序的服务器发送的注册请求,所述注册请求中携带有所述应用程序的身份信息和所述应用程序的标识信息;并根据所述标识信息,确定所述标识信息对应的解密信息;若利用所述解密信息对所述应用程序的身份信息解析成功,则存储所述应用程序的标识信息和身份信息的对应关系;并向所述应用程序的服务器返回注册成功的注册结果。

较佳地,所述方法,还包括:接收所述应用程序的服务器发送的对所述待注册用户的化身信息和账号信息进行加密处理得到的处理结果;并对接收到的所述处理结果进行解密处理,若解密成功,则利用所述待注册用户的化身信息和账号信息,更新所述待注册用户的关联列表,所述关联列表中存储有化身信息和账号信息的对应关系。

优选地,所述方法,还包括:将更新后的所述待注册用户的关联列表发送给空间数据引擎sde,以使所述sde根据所述关联列表中存储的对应关系对接收到的客户端发送的登录请求进行验证。

具体实施时,可以参考本发明实施例一中步骤s11~s17中相应的实施流程,重复之处不再赘述。

实施例四

如图5所示,为本发明实施例四提供的服务器侧的基于区块链的应用程序的注册方法的流程示意图,包括以下步骤:

s71、接收客户端发送的注册请求。

其中,所述注册请求中携带有待注册用户的化身信息,所述化身信息为根据所述待注册用户的身份信息和应用程序的身份信息进行转换和加密处理得到的,其中所述注册请求为所述客户端在接收到区块链网络返回的验证结果为验证成功后向所述应用程序的服务器发送的,所述验证结果为所述区块链网络根据所述客户端发送的验证请求中携带的所述应用程序的标识信息和身份信息、存储的应用程序的标识信息和身份信息的对应关系对所述应用程序进行验证得到的。

s72、对所述待注册用户的化身信息进行验证,并将得到的验证结果携带在注册结果中发送给所述客户端。

较佳地,在执行步骤s71之前,还包括下述步骤:向区块链网络发送注册请求,所述注册请求中携带有所述应用程序的身份信息和所述应用程序的标识信息;以及接收所述区块链网络返回的注册结果。

较佳地,在执行步骤s72时,具体包括:若对所述待注册用户的化身信息进行验证的验证结果为验证成功,则为所述待注册用户分配唯一的账号信息;并将得到的验证成功的验证结果以及所述账号信息携带在注册结果中发送给所述客户端。

优选地,在为所述待注册用户分配唯一的账号信息之后,还包括:

对所述待注册用户的化身信息和账号信息进行加密处理;并将处理结果发送给所述区块链网络。

具体实施时,可以参考本发明实施例一中步骤s11~s17中相应的实施流程,重复之处不再赘述。

实施例五

基于同一发明构思,本发明实施例中还提供了一种终端侧的基于区块链的应用程序的注册装置,由于上述装置解决问题的原理与终端侧的基于区块链的应用程序的注册方法相似,因此上述装置的实施可以参见方法的实施,重复之处不再赘述。

如图6所示,为本发明实施例五提供的终端侧的基于区块链的应用程序的注册装置的结构示意图,包括:获取单元81、第一发送单元82、第一接收单元83、第二发送单元84和第二接收单元85,其中:

获取单元81,用于获取应用程序的身份信息,所述身份信息为所述应用程序的服务器对所述应用程序的域名信息进行加密处理得到的;

第一发送单元82,用于向区块链网络发送验证请求,所述验证请求中携带有所述应用程序的标识信息和身份信息;

第一接收单元83,用于接收所述区块链网络返回的验证结果,所述验证结果为所述区块链网络根据所述应用程序的标识信息和身份信息、存储的应用程序的标识信息和身份信息的对应关系对所述应用程序进行验证得到的;

第二发送单元84,用于若确定出所述验证结果为验证成功,则向所述应用程序的服务器发送注册请求,所述注册请求中携带有待注册用户的化身信息,所述化身信息为根据所述待注册用户的身份信息和所述应用程序的身份信息进行转换和加密处理得到的;

第二接收单元85,用于接收所述应用程序的服务器返回的注册结果,所述注册结果中包含有所述应用程序的服务器对所述待注册用户的化身信息进行验证的验证结果。

较佳地,所述获取单元81,具体用于扫描应用程序的服务器为所述应用程序生成的图形认证码,获取应用程序的身份信息。

较佳地,所述装置,还包括:

存储单元,用于在所述第一发送单元82向所述应用程序发送注册请求之前,将所述待注册用户的化身信息存储到所述区块链网络中。

较佳地,所述注册结果包括验证成功的验证结果以及所述账号信息,其中所述账号信息为所述应用程序的服务器若对所述待注册用户的化身信息进行验证的验证结果为验证成功,则为所述待注册用户唯一分配的;以及所述装置,还包括:

登录单元,用于根据所述注册结果中包含的所述账号信息,登录所述应用程序。

为了描述的方便,以上各部分按照功能划分为各模块(或单元)分别描述。当然,在实施本发明时可以把各模块(或单元)的功能在同一个或多个软件或硬件中实现。例如,本发明实施例五提供的基于区块链的应用程序的注册装置可以设置于移动终端的客户端中,由移动终端的客户端完成用户的注册流程。

实施例六

基于同一发明构思,本发明实施例中还提供了一种网络侧的基于区块链的应用程序的注册装置,由于上述装置解决问题的原理与网络侧的基于区块链的应用程序的注册方法相似,因此上述装置的实施可以参见方法的实施,重复之处不再赘述。

如图7所示,为本发明实施例六提供的网络侧的基于区块链的应用程序的注册装置的结构示意图,包括:第一接收单元91、验证单元92和第一发送单元93,其中:

第一接收单元91,用于接收客户端发送的验证请求,所述验证请求中携带有所述应用程序的标识信息和身份信息,所述身份信息为所述应用程序的服务器对所述应用程序的域名信息进行加密处理得到的;

验证单元92,用于根据所述应用程序的标识信息和身份信息、存储的应用程序的标识信息和身份信息的对应关系对所述应用程序进行验证;

第一发送单元93,用于将所述验证单元92得到的验证结果发送给所述客户端,以使所述客户端若确定出所述验证结果为验证成功,则向所述应用程序的服务器发送注册请求,所述注册请求中携带有待注册用户的化身信息,所述身份信息为根据所述待注册用户的身份信息和所述应用程序的身份信息进行转换和加密处理得到的。

较佳地,所述装置,还包括:

第二接收单元,用于在第一接收单元91接收客户端发送的验证请求之前,接收应用程序的服务器发送的注册请求,所述注册请求中携带有所述应用程序的身份信息和所述应用程序的标识信息;

确定单元,用于根据所述标识信息,确定所述标识信息对应的解密信息;

存储单元,用于若利用所述确定单元确定出的解密信息对所述应用程序的身份信息解析成功,则存储所述应用程序的标识信息和身份信息的对应关系;

第二发送单元,用于向所述应用程序的服务器返回注册成功的注册结果。

较佳地,所述装置,还包括:

第三接收单元,用于接收所述应用程序的服务器发送的对所述待注册用户的化身信息和账号信息进行加密处理得到的处理结果;

处理单元,用于根据所述处理结果进行解密处理,若解密成功,则利用所述待注册用户的化身信息和账号信息,更新所述待注册用户的关联列表,所述关联列表中存储有化身信息和账号信息的对应关系。

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

第三发送单元,用于将更新后的所述待注册用户的关联列表发送给空间数据引擎sde,以使所述sde根据所述关联列表中存储的对应关系对接收到的客户端发送的登录请求进行验证。

为了描述的方便,以上各部分按照功能划分为各模块(或单元)分别描述。当然,在实施本发明时可以把各模块(或单元)的功能在同一个或多个软件或硬件中实现。例如,本发明实施例六提供的基于区块链的应用程序的注册装置可以设置于区块链网络中,由区块链网络完成对应用程序的服务器的身份认证及用户的注册。

实施例七

基于同一发明构思,本发明实施例中还提供了一种服务器侧的基于区块链的应用程序的注册装置,由于上述装置解决问题的原理与服务器侧的基于区块链的应用程序的注册方法相似,因此上述装置的实施可以参见方法的实施,重复之处不再赘述。

如图8所示,为本发明实施例七提供的服务器侧的基于区块链的应用程序的注册装置的结构示意图,包括:第一接收单元101和验证单元102,其中:

第一接收单元101,用于接收客户端发送的注册请求,所述注册请求中携带有待注册用户的化身信息,所述化身信息为根据所述待注册用户的身份信息和应用程序的身份信息进行转换和加密处理得到的,其中所述注册请求为所述客户端在接收到区块链网络返回的验证结果为验证成功后向所述应用程序的服务器发送的,所述验证结果为所述区块链网络根据所述客户端发送的验证请求中携带的所述应用程序的标识信息和身份信息、存储的应用程序的标识信息和身份信息的对应关系对所述应用程序进行验证得到的;

验证单元102,用于对所述待注册用户的化身信息进行验证,并将得到的验证结果携带在注册结果中发送给所述客户端。

较佳地,所述装置,还包括:

第一发送单元,用于在第一接收单元101接收客户端发送的注册请求之前,向区块链网络发送注册请求,所述注册请求中携带有所述应用程序的身份信息和所述应用程序的标识信息;

第二接收单元,用于接收所述区块链网络返回的注册结果。

较佳地,所述装置,还包括:

生成单元,用于在所述第一接收单元101接收客户端发送的注册请求之前,根据应用程序的身份信息为所述应用程序生成图形认证码。

较佳地,所述验证单元102,具体用于若对所述待注册用户的化身信息进行验证的验证结果为验证成功,则为所述待注册用户分配唯一的账号信息;并将得到的验证成功的验证结果以及所述账号信息携带在注册结果中发送给所述客户端。

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

处理单元,用于在所述验证单元102为所述待注册用户分配唯一的账号信息之后,对所述待注册用户的化身信息和账号信息进行加密处理;

第二发送单元,用于将所述处理单元得到的处理结果发送给所述区块链网络。

为了描述的方便,以上各部分按照功能划分为各模块(或单元)分别描述。当然,在实施本发明时可以把各模块(或单元)的功能在同一个或多个软件或硬件中实现。例如,本发明实施例七提供的服务器侧的基于区块链的应用程序的注册装置可以设置于应用程序的服务器中,由服务器完成对应用程序的注册及用户的注册。

实施例八

本申请实施例八提供了一种非易失性计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述方法实施例二或实施例三或实施例四中提供的基于区块链的应用程序的注册方法。

实施例九

本申请实施例九提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请提供的终端侧的基于区块链的应用程序的注册方法,或者能够执行本申请提供的网络侧的基于区块链的应用程序的注册方法,或者能够执行本申请提供的服务器侧的基于区块链的应用程序的注册方法。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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