CN111709012A - 基于私有链的用户验证方法、装置及计算机设备 - Google Patents
基于私有链的用户验证方法、装置及计算机设备 Download PDFInfo
- Publication number
- CN111709012A CN111709012A CN202010443561.4A CN202010443561A CN111709012A CN 111709012 A CN111709012 A CN 111709012A CN 202010443561 A CN202010443561 A CN 202010443561A CN 111709012 A CN111709012 A CN 111709012A
- Authority
- CN
- China
- Prior art keywords
- private chain
- user
- account data
- data
- current account
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 73
- 238000012795 verification Methods 0.000 claims abstract description 39
- 238000004590 computer program Methods 0.000 claims description 15
- 238000001514 detection method Methods 0.000 claims description 6
- 210000001503 joint Anatomy 0.000 abstract description 4
- 230000008569 process Effects 0.000 description 19
- 238000007726 management method Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 12
- 238000012544 monitoring process Methods 0.000 description 8
- 230000006978 adaptation Effects 0.000 description 6
- 238000012423 maintenance Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000012550 audit Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000013475 authorization Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000003862 health status Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012954 risk control Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/321—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Information Transfer Between Computers (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了基于私有链的用户验证方法、装置、计算机设备及存储介质,涉及区块链,包括判断是否接收到用户端通过重定向上传的当前账户数据;若检测到用户端通过重定向上传的当前账户数据,根据所述当前账户数据在更新后私有链中获取对应的用户数据集;由所述用户数据集获取登录凭证并发送至业务服务器;以及若接收到业务服务器发送的登录凭证验证通过指令,对用户端发送所述当前账户数据通过验证的提示。该方法实现了在与多个业务服务器对接的私有链上完成一次注册,即可即可实现对多个业务服务器的访问,提高了用户访问服务器的效率。
Description
技术领域
本发明涉及区块链技术领域,尤其涉及一种基于私有链的用户验证方法、装置、计算机设备及存储介质。
背景技术
目前,当用户需访问一业务服务器时,若是新用户首次登录,一般需用户新注册用户账号后进行访问。若用户需要访问不同的业务服务器,需在每一业务服务器上均注册一个用户账号,用户注册太多不通用的账户易导致用户遗忘账号,导致登录失败。通过现有的多平台多账户的方式,不仅导致了用户账户数据繁多易遗忘,而且因用户在登陆前需确定正确账号后才能登录成功,降低了登录效率。
发明内容
本发明实施例提供了一种基于私有链的用户验证方法、装置、计算机设备及存储介质,旨在解决现有技术中登录多个平台需要多个用户账户,不仅导致了用户账户数据繁多易遗忘,而且因用户在登陆前需确定正确账号后才能登录成功,降低了登录效率的问题。
第一方面,本发明实施例提供了一种基于私有链的用户验证方法,其包括:
判断是否接收到用户端通过重定向上传的当前账户数据;
若检测到用户端通过重定向上传的当前账户数据,根据所述当前账户数据在更新后私有链中获取对应的用户数据集;
由所述用户数据集获取登录凭证并发送至业务服务器;以及
若接收到业务服务器发送的登录凭证验证通过指令,对用户端发送所述当前账户数据通过验证的提示。
第二方面,本发明实施例提供了一种基于私有链的用户验证装置,其包括:
账户数据上传检测单元,用于判断是否接收到用户端通过重定向上传的当前账户数据;
用户数据集获取单元,用于若检测到用户端通过重定向上传的当前账户数据,根据所述当前账户数据在更新后私有链中获取对应的用户数据集;
登录凭证发送单元,用于由所述用户数据集获取登录凭证并发送至业务服务器;以及
验证通过提示单元,用于若接收到业务服务器发送的登录凭证验证通过指令,对用户端发送所述当前账户数据通过验证的提示。
第三方面,本发明实施例又提供了一种计算机设备,其包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的基于私有链的用户验证方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其中所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行上述第一方面所述的基于私有链的用户验证方法。
本发明实施例提供了一种基于私有链的用户验证方法、装置、计算机设备及存储介质,包括判断是否接收到用户端通过重定向上传的当前账户数据;若检测到用户端通过重定向上传的当前账户数据,根据所述当前账户数据在更新后私有链中获取对应的用户数据集;由所述用户数据集获取登录凭证并发送至业务服务器;以及若接收到业务服务器发送的登录凭证验证通过指令,对用户端发送所述当前账户数据通过验证的提示。该方法实现了在与多个业务服务器对接的私有链上完成一次注册,即可即可实现对多个业务服务器的访问,提高了用户访问服务器的效率。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的基于私有链的用户验证方法的应用场景示意图;
图2为本发明实施例提供的基于私有链的用户验证方法的流程示意图;
图3为本发明实施例提供的基于私有链的用户验证方法中私有链节点组成私有链的示意图;
图4为本发明实施例提供的基于私有链的用户验证方法的子流程示意图;
图5为本发明实施例提供的基于私有链的用户验证方法的另一子流程示意图;
图6为本发明实施例提供的基于私有链的用户验证装置的示意性框图;
图7为本发明实施例提供的基于私有链的用户验证装置的子单元示意性框图;
图8为本发明实施例提供的基于私有链的用户验证装置的另一子单元示意性框图;
图9为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1和图2,图1为本发明实施例提供的基于私有链的用户验证方法的应用场景示意图;图2为本发明实施例提供的基于私有链的用户验证方法的流程示意图,该基于私有链的用户验证方法应用于私有链节点设备中,该方法通过安装于私有链节点设备中的应用软件进行执行。
如图2所示,该方法包括步骤S110~S140。
S110、判断是否接收到用户端通过重定向上传的当前账户数据。
在本实施例中,为了更清楚的理解技术方案,下面对所涉及到的终端进行详细介绍。本申请是站在私有链中任意一个私有链节点设备描述技术方案。
第一是用户端,用户端可以登录私有链节点设备的注册界面,并录入初始注册账户信息(一般初始注册账户信息中包括用户账号及用户密码),完成录入后生成与所述初始注册账户信息对应的新建账户数据摘要并发送至私有链节点设备。之后用户端再次输入用户账号信息时,是先发送至业务服务器,由业务服务器通过重定向后将用户账号信息发送至私有链节点设备进行用户登录验证。
第二是业务服务器,一般用户端登录业务服务器且在用户登录验证通过后,业务服务器中的各项业务模块对用户提供服务。由于将身份验证这一环节转移至私有链,在业务服务器中则无需进行用户身份验证。
第三是私有链节点设备(可以简记为私有链节点),多个私有链节点设备中均存储有相同的私有链,私有链中的每一区块中均存储有数据。使用用户端在私有链上注册的用户数据均存储至私有链的区块中,私有链节点设备的示意图如图3。
当有多个用户通过用户端完成了初始用户注册后,当有用户需登录业务服务器办理业务时,此时业务服务器是将用户账户的验证过程是转移至私有链。也即用户端的账户验证请求是用户端通过重定向发送至私有链。
其中,区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。
一般,区块链可以分为公有链、私有链和联盟链,三者具体描述如下:
1)公有链,是指全世界任何人都可读取、发送交易且交易能获得有效确认的、也可以参与其中共识过程的区块链。通俗来讲,公有链是一个完全公开,完全去中心化并且需要发行通证作为激励的区块链。
2)私有链,是一条对单独的个人或实体开放的许可链。它是完全封闭的区块链,只由私人参与记账,维护治理,并且不需要发行通证激励节点。私有链交易速度快,交易成本低,并且安全性较高。一般是用于包括多家子公司的大型企业内部使用。
3)联盟链,是只针对某个特定群体的成员和有限的第三方,其内部指定多个预选节点为记账人,每个块的生成由所有的预选节点共同决定。因此,联盟链也叫许可链。通俗来讲,它是一条半公开的区块链,只有特定成员才能参与记账权限和维护治理,可以自主选择是否发行通证。
在本申请中,由于多个业务服务器若许可了由同一私有链进行用户账户注册和用户账户验证,故选用私有链即可满足用户验证需求。
在一实施例中,如图2所示,步骤S110之前还包括:
S101、判断是否检测到用户端发送的初始注册账户信息;
S102、若检测到用户端发送的初始注册账户信息,通过共识算法所选举的第一私有链节点构建区块以将新建账户数据摘要进行存储,对各私有链节点上的区块对应进行更新得到更新后私有链。
在本实施例中,当用户端首次受私有链的邀请或是该用户端是有私有链访问权限时,可以访问私有链并进行用户注册。在用户端上完成的初始注册账户信息的编辑时,将初始注册账户信息发送至私有链节点。
当私有链节点接收到新建账号数据摘要后,先是存储在一个数据池中,需要私有链网络的各私有链节点根据共识算法选举一个领导私有链节点,以通过领导私有链节点充当矿工的角色去数据池中挖取新建账号数据摘要,将新建账号数据摘要写入领导私有链链节点对应构建的区块中进行存储,最后再以极短的时间内将新建账号数据摘要的副本发送至其他私有链点,经过其余私有链节点认证后,实现对各私有链节点上的区块对应进行更新得到更新后私有链。通过这一方式,即可实现在私有链上完成用户新建账号数据的存储。也即用户需登录多个不同的业务服务器中任意一个或多个时,业务服务器将用户验证过程均转移至私有链进行验证,用户只需在私有链上完成用户初始注册,即可基于该注册账号登录上述多个不同的业务服务器。
在一实施例中,如图4所示,步骤S102包括:
S1021、判断所述初始注册账户信息是否满足预先存储的智能合约;
S1022、若所述初始注册账户信息满足所述智能合约,通过实用拜占庭容错算法选举领导私有链节点,以所述领导私有链节点作为第一私有链节点;
S1023、通过所述第一私有链节点中创建的当前第一区块将所述初始注册账户信息进行存储;
S1024、将所述当前第一区块中的初始注册账户信息的副本发送至其他私有链节点。
在本实施例中,若所述初始注册账户信息不满足所述智能合约,表示所注册的用户账号存在非法字符(如空格等字符),此时生成用户账户注册未通过的未成功注册提示信息发送至用户端以提示无法成功注册账号,且将所述未成功注册提示信息对应上传至私有链进行存储。
PBFT即实用拜占庭容错算法,由Miguel Castro和Barbara Liskov在1999年提出,可以在作恶节点少于三分之一的情况下,保证系统的正确性(避免分叉)。
通过实用拜占庭容错算法选举领导私有链节点,之后再通过所述领导私有链节点中创建的当前第一区块将所述初始注册账户信息进行存储。最后再以极短的时间内,将初始注册账户信息的副本发送至私有链网络中除了领导私有链节点以外的其他私有链节点。通过这一方式,将每一用户新注册的用户账号信息进行了有效保存,不仅数据无法篡改,而且便于溯源查询。
多个私有链节点形成的私有链网络中,每一私有链节点中均存储有完整的区块链。也即每一个私有链节点对应的设备中是存储有完整的区块链数据,这样实现了共同记账的过程。
S120、若检测到用户端通过重定向上传的当前账户数据,根据所述当前账户数据在更新后私有链中获取对应的用户数据集。
在本实施例中,当私有链节点检测到用户端通过重定向上传的当前账户数据,此时通过私有链对应查询与当前账户数据相关的所有数据以组成用户数据集。
若未检测到用户端通过重定向上传的当前账户数据,私有链节点在等待预先设置的延迟时间(如20s)后,再次返回执行步骤S110。
在一实施例中,如图5所示,步骤S120包括:
S121、判断所述当前账户数据是否满足所述智能合约中的查询合约;
S122、若所述当前账户数据满足所述智能合约中的查询合约,根据所述当前账户数据的用户账号,检索获取与所述当前账户数据对应的用户数据集。
在本实施例中,为了根据当前账户数据在私有链的区块链中检索获取与所述当前账户数据对应的用户数据集,此时需先判断所述当前账户数据是否满足所述智能合约中的查询合约。
该查询合约约定设置了账户数据需包括用户账号和用户密码,且用户账号和用户密码不能包括非法字符。此时若当前用户账户数据满足该查询合约时,则根据所述当前账户数据的用户账号,检索获取与所述当前账户数据对应的用户数据集。通过这一方式,实现了对用户账号的合法性验证。
在一实施例中,步骤S121之后还包括:
若所述当前账户数据不满足所述智能合约中的查询合约,生成用户账户验证未通过的提示信息发送至用户端,且将所述提示信息对应上传至私有链。
在本实施例中,若所述当前账户数据不满足所述智能合约中的查询合约,表示当前账号数据可能是非法账号、或是未注册账号、或是输入用户账号错误、或是输入用户密码错误等情况。此时为了在私有链上记录每一次登录验证过程,此时除了生成用户账户验证未通过的提示信息发送至用户端以提示无法成功登录业务服务器,且将所述提示信息对应上传至私有链进行存储。通过这一方式,实现了准确记录用户的任意一次登录过程,便于溯源。
S130、由所述用户数据集获取登录凭证并发送至业务服务器。
在本实施例中,由于当前时刻这一用户端对应的初始账户信息可以生成会话数据(即session数据)发送至业务服务器,业务服务器根据这一会话数据对应生成登录凭证并发送存储在私有链中。此时,在用户数据集中是可以检索到这一登录凭证,此时私有链节点将该用户的登录凭证并发送至业务服务器。
在一实施例中,步骤S130包括:
获取所述用户数据集中与当前系统时间的时间间隔为最小值的登录凭证;
将所述登录凭证发送至业务服务器。
在本实施例中,通过在用户数据集中获取与当前系统时间的时间间隔为最小值的登录凭证,可以获取最新的登录凭证并发送至业务服务器,由业务服务器放行用户端此次的当前账户数据以进行访问。通过这一方式,有效将用户验证的过程转移至私有链,提高了用户验证过程的私密性、不可篡改性和可溯源性。
S140、若接收到业务服务器发送的登录凭证验证通过指令,对用户端发送所述当前账户数据通过验证的提示。
在本实施例中,由于私有链将登录凭证发送至业务服务器后,业务服务器会对登录凭证进行验证,一旦通过即可告知私有链用户端的身份验证已通过,可以成功登录。此时通过对用户端发送所述当前账户数据通过验证的提示即可,之后用户端就成功登录业务服务器。
通过这一实现方式,用户只用在私有链注册用户账号,无需在业务服务器上注册账号。若该私有链与多个业务服务器对接时,用户也无需注册多个账号,只用在私有链上注册一个用户账号。
该方法实现了在与多个业务服务器对接的私有链上完成一次注册,即可即可实现对多个业务服务器的访问,提高了用户访问服务器的效率。
本发明实施例还提供一种基于私有链的用户验证装置,该基于私有链的用户验证装置用于执行前述基于私有链的用户验证方法的任一实施例。具体地,请参阅图6,图6是本发明实施例提供的基于私有链的用户验证装置的示意性框图。该基于私有链的用户验证装置100可以配置于私有链节点设备中。
如图6所示,基于私有链的用户验证装置100包括:账户数据上传检测单元110、用户数据集获取单元120、登录凭证发送单元130、验证通过提示单元140。
账户数据上传检测单元110,判断是否接收到用户端通过重定向上传的当前账户数据。
在本实施例中,当有多个用户通过用户端完成了初始用户注册后,当有用户需登录业务服务器办理业务时,此时业务服务器是将用户账户的验证过程是转移至私有链。也即用户端的账户验证请求是用户端通过重定向发送至私有链。
其中,区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。
在本申请中,由于多个业务服务器若许可了由同一私有链进行用户账户注册和用户账户验证,故选用私有链即可满足用户验证需求。
在一实施例中,如图6所示,基于私有链的用户验证装置100还包括:
初始数据上传检测单元101,用于判断是否检测到用户端发送的初始注册账户信息;
初始数据上链单元102,用于若检测到用户端发送的初始注册账户信息,通过共识算法所选举的第一私有链节点构建区块以将新建账户数据摘要进行存储,对各私有链节点上的区块对应进行更新得到更新后私有链。
在本实施例中,当用户端首次受私有链的邀请或是该用户端是有私有链访问权限时,可以访问私有链并进行用户注册。在用户端上完成的初始注册账户信息的编辑时,将初始注册账户信息发送至私有链节点。
当私有链节点接收到新建账号数据摘要后,先是存储在一个数据池中,需要私有链网络的各私有链节点根据共识算法选举一个领导私有链节点,以通过领导私有链节点充当矿工的角色去数据池中挖取新建账号数据摘要,将新建账号数据摘要写入领导私有链链节点对应构建的区块中进行存储,最后再以极短的时间内将新建账号数据摘要的副本发送至其他私有链点,经过其余私有链节点认证后,实现对各私有链节点上的区块对应进行更新得到更新后私有链。通过这一方式,即可实现在私有链上完成用户新建账号数据的存储。也即用户需登录多个不同的业务服务器中任意一个或多个时,业务服务器将用户验证过程均转移至私有链进行验证,用户只需在私有链上完成用户初始注册,即可基于该注册账号登录上述多个不同的业务服务器。
在一实施例中,如图7所示,初始数据上链单元102包括:
第一智能合约判断单元1021,用于判断所述初始注册账户信息是否满足预先存储的智能合约;
领导节点选举单元1022,用于若所述初始注册账户信息满足所述智能合约,通过实用拜占庭容错算法选举领导私有链节点,以所述领导私有链节点作为第一私有链节点;
初始注册账户信息存储单元1023,用于通过所述第一私有链节点中创建的当前第一区块将所述初始注册账户信息进行存储;
副本发送单元1024,用于将所述当前第一区块中的初始注册账户信息的副本发送至其他私有链节点。
在本实施例中,PBFT即实用拜占庭容错算法,由Miguel Castro和Barbara Liskov在1999年提出,可以在作恶节点少于三分之一的情况下,保证系统的正确性(避免分叉)。
通过实用拜占庭容错算法选举领导私有链节点,之后再通过所述领导私有链节点中创建的当前第一区块将所述初始注册账户信息进行存储。最后再以极短的时间内,将初始注册账户信息的副本发送至私有链网络中除了领导私有链节点以外的其他私有链节点。通过这一方式,将每一用户新注册的用户账号信息进行了有效保存,不仅数据无法篡改,而且便于溯源查询。
多个私有链节点形成的私有链网络中,每一私有链节点中均存储有完整的区块链。也即每一个私有链节点对应的设备中是存储有完整的区块链数据,这样实现了共同记账的过程。
用户数据集获取单元120,用于若检测到用户端通过重定向上传的当前账户数据,根据所述当前账户数据在更新后私有链中获取对应的用户数据集。
在本实施例中,当私有链节点检测到用户端通过重定向上传的当前账户数据,此时通过私有链对应查询与当前账户数据相关的所有数据以组成用户数据集。
在一实施例中,如图8所示,用户数据集获取单元120包括:
第二智能合约判断单元121,用于判断所述当前账户数据是否满足所述智能合约中的查询合约;
数据集检索单元122,用于若所述当前账户数据满足所述智能合约中的查询合约,根据所述当前账户数据的用户账号,检索获取与所述当前账户数据对应的用户数据集。
在本实施例中,为了根据当前账户数据在私有链的区块链中检索获取与所述当前账户数据对应的用户数据集,此时需先判断所述当前账户数据是否满足所述智能合约中的查询合约。
该查询合约约定设置了账户数据需包括用户账号和用户密码,且用户账号和用户密码不能包括非法字符。此时若当前用户账户数据满足该查询合约时,则根据所述当前账户数据的用户账号,检索获取与所述当前账户数据对应的用户数据集。通过这一方式,实现了对用户账号的合法性验证。
在一实施例中,基于私有链的用户验证装置100还包括:
错误提示单元,用于若所述当前账户数据不满足所述智能合约中的查询合约,生成用户账户验证未通过的提示信息发送至用户端,且将所述提示信息对应上传至私有链。
在本实施例中,若所述当前账户数据不满足所述智能合约中的查询合约,表示当前账号数据可能是非法账号、或是未注册账号、或是输入用户账号错误、或是输入用户密码错误等情况。此时为了在私有链上记录每一次登录验证过程,此时除了生成用户账户验证未通过的提示信息发送至用户端以提示无法成功登录业务服务器,且将所述提示信息对应上传至私有链进行存储。通过这一方式,实现了准确记录用户的任意一次登录过程,便于溯源。
登录凭证发送单元130,用于由所述用户数据集获取登录凭证并发送至业务服务器。
在本实施例中,由于当前时刻这一用户端对应的初始账户信息可以生成会话数据(即session数据)发送至业务服务器,业务服务器根据这一会话数据对应生成登录凭证并发送存储在私有链中。此时,在用户数据集中是可以检索到这一登录凭证,此时私有链节点将该用户的登录凭证并发送至业务服务器。
在一实施例中,登录凭证发送单元130包括:
最新登录凭证获取单元,用于获取所述用户数据集中与当前系统时间的时间间隔为最小值的登录凭证;
最新登录凭证发送单元,用于将所述登录凭证发送至业务服务器。
在本实施例中,通过在用户数据集中获取与当前系统时间的时间间隔为最小值的登录凭证,可以获取最新的登录凭证并发送至业务服务器,由业务服务器放行用户端此次的当前账户数据以进行访问。通过这一方式,有效将用户验证的过程转移至私有链,提高了用户验证过程的私密性、不可篡改性和可溯源性。
验证通过提示单元140,用于若接收到业务服务器发送的登录凭证验证通过指令,对用户端发送所述当前账户数据通过验证的提示。
在本实施例中,由于私有链将登录凭证发送至业务服务器后,业务服务器会对登录凭证进行验证,一旦通过即可告知私有链用户端的身份验证已通过,可以成功登录。此时通过对用户端发送所述当前账户数据通过验证的提示即可,之后用户端就成功登录业务服务器。
通过这一实现方式,用户只用在私有链注册用户账号,无需在业务服务器上注册账号。若该私有链与多个业务服务器对接时,用户也无需注册多个账号,只用在私有链上注册一个用户账号。
该装置实现了在与多个业务服务器对接的私有链上完成一次注册,即可即可实现对多个业务服务器的访问,提高了用户访问服务器的效率。
上述基于私有链的用户验证装置可以实现为计算机程序的形式,该计算机程序可以在如图9所示的计算机设备上运行。
请参阅图9,图9是本发明实施例提供的计算机设备的示意性框图。该计算机设备500是服务器,服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。
参阅图9,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。
该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032被执行时,可使得处理器502执行基于私有链的用户验证方法。
该处理器502用于提供计算和控制能力,支撑整个计算机设备500的运行。
该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行基于私有链的用户验证方法。
该网络接口505用于进行网络通信,如提供数据信息的传输等。本领域技术人员可以理解,图9中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现本发明实施例公开的基于私有链的用户验证方法。
本领域技术人员可以理解,图9中示出的计算机设备的实施例并不构成对计算机设备具体构成的限定,在其他实施例中,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,计算机设备可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图9所示实施例一致,在此不再赘述。
应当理解,在本发明实施例中,处理器502可以是中央处理单元(CentralProcessing Unit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
在本发明的另一实施例中提供计算机可读存储介质。该计算机可读存储介质可以为非易失性的计算机可读存储介质。该计算机可读存储介质存储有计算机程序,其中计算机程序被处理器执行时实现本发明实施例公开的基于私有链的用户验证方法。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为逻辑功能划分,实际实现时可以有另外的划分方式,也可以将具有相同功能的单元集合成一个单元,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种基于私有链的用户验证方法,其特征在于,包括:
判断是否接收到用户端通过重定向上传的当前账户数据;
若检测到用户端通过重定向上传的当前账户数据,根据所述当前账户数据在更新后私有链中获取对应的用户数据集;
由所述用户数据集获取登录凭证并发送至业务服务器;以及
若接收到业务服务器发送的登录凭证验证通过指令,对用户端发送所述当前账户数据通过验证的提示。
2.根据权利要求1所述的基于私有链的用户验证方法,其特征在于,所述判断是否接收到用户端通过重定向上传的当前账户数据之前,还包括:
判断是否检测到用户端发送的初始注册账户信息;
若检测到用户端发送的初始注册账户信息,通过共识算法所选举的第一私有链节点构建区块以将新建账户数据摘要进行存储,对各私有链节点上的区块对应进行更新得到更新后私有链。
3.根据权利要求2所述的基于私有链的用户验证方法,其特征在于,所述通过共识算法所选举的第一私有链节点构建区块以将新建账户数据摘要进行存储,对各私有链节点上的区块对应进行更新得到更新后私有链,包括:
判断所述初始注册账户信息是否满足预先存储的智能合约;
若所述初始注册账户信息满足所述智能合约,通过实用拜占庭容错算法选举领导私有链节点,以所述领导私有链节点作为第一私有链节点;
通过所述第一私有链节点中创建的当前第一区块将所述初始注册账户信息进行存储;
将所述当前第一区块中的初始注册账户信息的副本发送至其他私有链节点。
4.根据权利要求1所述的基于私有链的用户验证方法,其特征在于,所述根据所述当前账户数据在更新后私有链中获取对应的用户数据集,包括:
判断所述当前账户数据是否满足所述智能合约中的查询合约;
若所述当前账户数据满足所述智能合约中的查询合约,根据所述当前账户数据的用户账号,检索获取与所述当前账户数据对应的用户数据集。
5.根据权利要求4所述的基于私有链的用户验证方法,其特征在于,所述由所述用户数据集获取登录凭证并发送至业务服务器,包括:
获取所述用户数据集中与当前系统时间的时间间隔为最小值的登录凭证;
将所述登录凭证发送至业务服务器。
6.根据权利要求4所述的基于私有链的用户验证方法,其特征在于,所述判断所述当前账户数据是否满足所述智能合约中的查询合约之后,还包括:
若所述当前账户数据不满足所述智能合约中的查询合约,生成用户账户验证未通过的提示信息发送至用户端,且将所述提示信息对应上传至私有链。
7.一种基于私有链的用户验证装置,其特征在于,包括:
账户数据上传检测单元,用于判断是否接收到用户端通过重定向上传的当前账户数据;
用户数据集获取单元,用于若检测到用户端通过重定向上传的当前账户数据,根据所述当前账户数据在更新后私有链中获取对应的用户数据集;
登录凭证发送单元,用于由所述用户数据集获取登录凭证并发送至业务服务器;以及
验证通过提示单元,用于若接收到业务服务器发送的登录凭证验证通过指令,对用户端发送所述当前账户数据通过验证的提示。
8.根据权利要求7所述的基于私有链的用户验证装置,其特征在于,还包括:
初始数据上传检测单元,用于判断是否检测到用户端发送的初始注册账户信息;
初始数据上链单元,用于若检测到用户端发送的初始注册账户信息,通过共识算法所选举的第一私有链节点构建区块以将新建账户数据摘要进行存储,对各私有链节点上的区块对应进行更新得到更新后私有链。
9.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6中任一项所述的基于私有链的用户验证方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行如权利要求1至6任一项所述的基于私有链的用户验证方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010443561.4A CN111709012A (zh) | 2020-05-22 | 2020-05-22 | 基于私有链的用户验证方法、装置及计算机设备 |
PCT/CN2020/105412 WO2021232590A1 (zh) | 2020-05-22 | 2020-07-29 | 基于私有链的用户验证方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010443561.4A CN111709012A (zh) | 2020-05-22 | 2020-05-22 | 基于私有链的用户验证方法、装置及计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111709012A true CN111709012A (zh) | 2020-09-25 |
Family
ID=72537836
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010443561.4A Pending CN111709012A (zh) | 2020-05-22 | 2020-05-22 | 基于私有链的用户验证方法、装置及计算机设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111709012A (zh) |
WO (1) | WO2021232590A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114448720A (zh) * | 2022-03-09 | 2022-05-06 | 北京京东振世信息技术有限公司 | 一种账号注册方法和装置 |
CN114611155B (zh) * | 2022-03-15 | 2022-12-13 | 云粒智慧科技有限公司 | 一种数据治理节点的校验方法、装置、设备及介质 |
CN115052009B (zh) * | 2022-06-17 | 2023-04-07 | 吉林大学 | 基于双链区块链的网络功能虚拟化数据保护方法及系统 |
CN115150178A (zh) * | 2022-07-11 | 2022-10-04 | 中国银行股份有限公司 | 一种基于区块链的跨平台统一登录认证方法和装置 |
CN115442058B (zh) * | 2022-11-08 | 2023-02-07 | 轩创(广州)网络科技有限公司 | 一种基于云计算及云服务器的电子信息安全存储系统 |
CN116566710B (zh) * | 2023-05-28 | 2024-04-26 | 深圳市远东数智采技术服务有限公司 | 一种区块链数据管理方法及系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120079007A1 (en) * | 2010-09-27 | 2012-03-29 | Research In Motion Limited | Method, apparatus and system for accessing applications and content across a plurality of computers |
CN107786546A (zh) * | 2017-09-30 | 2018-03-09 | 电子科技大学 | 一种基于私有链的红酒防伪溯源系统 |
CN108764925A (zh) * | 2018-05-31 | 2018-11-06 | 李沁福 | 一种基于区块链技术的综合业务平台 |
CN109101241A (zh) * | 2018-07-06 | 2018-12-28 | 深圳付贝科技有限公司 | 一种区块链安装包生成方法及其装置、电子设备 |
US20190058709A1 (en) * | 2017-08-16 | 2019-02-21 | Telefonaktiebolaget Lm Ericsson (Publ) | Tenant management method and system in a cloud computing environment |
CN109639711A (zh) * | 2018-12-29 | 2019-04-16 | 成都康赛信息技术有限公司 | 一种基于私有链会话id的分布式cas认证方法 |
CN109710823A (zh) * | 2018-11-02 | 2019-05-03 | 远光软件股份有限公司 | 基于区块链的档案管理方法、档案管理网络及电子设备 |
CN109871669A (zh) * | 2019-03-14 | 2019-06-11 | 哈尔滨工程大学 | 一种基于区块链技术的数据共享解决方法 |
CN110796547A (zh) * | 2019-10-30 | 2020-02-14 | 桂林电子科技大学 | 一种基于联盟区块链的改进的实用拜占庭容错系统 |
-
2020
- 2020-05-22 CN CN202010443561.4A patent/CN111709012A/zh active Pending
- 2020-07-29 WO PCT/CN2020/105412 patent/WO2021232590A1/zh active Application Filing
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120079007A1 (en) * | 2010-09-27 | 2012-03-29 | Research In Motion Limited | Method, apparatus and system for accessing applications and content across a plurality of computers |
US20190058709A1 (en) * | 2017-08-16 | 2019-02-21 | Telefonaktiebolaget Lm Ericsson (Publ) | Tenant management method and system in a cloud computing environment |
CN107786546A (zh) * | 2017-09-30 | 2018-03-09 | 电子科技大学 | 一种基于私有链的红酒防伪溯源系统 |
CN108764925A (zh) * | 2018-05-31 | 2018-11-06 | 李沁福 | 一种基于区块链技术的综合业务平台 |
CN109101241A (zh) * | 2018-07-06 | 2018-12-28 | 深圳付贝科技有限公司 | 一种区块链安装包生成方法及其装置、电子设备 |
CN109710823A (zh) * | 2018-11-02 | 2019-05-03 | 远光软件股份有限公司 | 基于区块链的档案管理方法、档案管理网络及电子设备 |
CN109639711A (zh) * | 2018-12-29 | 2019-04-16 | 成都康赛信息技术有限公司 | 一种基于私有链会话id的分布式cas认证方法 |
CN109871669A (zh) * | 2019-03-14 | 2019-06-11 | 哈尔滨工程大学 | 一种基于区块链技术的数据共享解决方法 |
CN110796547A (zh) * | 2019-10-30 | 2020-02-14 | 桂林电子科技大学 | 一种基于联盟区块链的改进的实用拜占庭容错系统 |
Non-Patent Citations (3)
Title |
---|
勋爵|X-KNIGHT: "[区块链]共识算法之争(PBFT,Raf,PoW,PoS,DPoS,Ripple)", pages 1 - 7, Retrieved from the Internet <URL:https://www.cnblogs.com/X-knight/p/9157814.html> * |
杨茜: "基于区块链的智能合约研究与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》, no. 2018, 15 October 2018 (2018-10-15), pages 138 - 447 * |
顾燕: "基于区块链的身份认证系统的设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》, no. 2018, 15 November 2018 (2018-11-15), pages 138 - 22 * |
Also Published As
Publication number | Publication date |
---|---|
WO2021232590A1 (zh) | 2021-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111709012A (zh) | 基于私有链的用户验证方法、装置及计算机设备 | |
CN110519062B (zh) | 基于区块链的身份认证方法、认证系统及存储介质 | |
CN110380858B (zh) | 用于处理区块链的游戏共识协议的方法和系统 | |
US10523526B2 (en) | System and method for managing services and licenses using a blockchain network | |
CN106878000B (zh) | 一种联盟链共识方法及系统 | |
CN102281286B (zh) | 分布式混合企业的灵活端点顺从和强认证的方法和系统 | |
CN110569658B (zh) | 基于区块链网络的用户信息处理方法、装置、电子设备及存储介质 | |
CN110326252A (zh) | 设备的安全供应和管理 | |
CN108960825A (zh) | 基于区块链的电子签名方法及装置、电子设备 | |
US20100132019A1 (en) | Redundant multifactor authentication in an identity management system | |
EP2831718A1 (en) | Secure mobile framework | |
US11757884B2 (en) | Method and system for controlling the release of a resource | |
CN112527912A (zh) | 基于区块链网络的数据处理方法、装置及计算机设备 | |
CN112712452A (zh) | 基于区块链的审批信息处理方法和装置 | |
KR102055748B1 (ko) | 블록체인 기반의 네트워크 자가진단 제어 장치 | |
CN114003959A (zh) | 去中心化身份信息处理方法、装置和系统 | |
EP3472779A1 (en) | Digital asset platform | |
CN107133499A (zh) | 一种软件版权保护方法、客户端、服务端以及系统 | |
CN113379577A (zh) | 一种事务审核方法、装置及设备 | |
CN113647080A (zh) | 以密码保护的方式提供数字证书 | |
JP6091450B2 (ja) | 情報処理装置及び情報処理方法及びプログラム | |
CN112235251B (zh) | 一种区块链管理方法、装置、计算机设备及存储介质 | |
CN111934881B (zh) | 数据确权方法和装置、存储介质和电子装置 | |
CN114978677A (zh) | 资产访问控制方法、装置、电子设备和计算机可读介质 | |
KR20000059245A (ko) | 생체정보 저장 시스템 및 이를 이용한 인터넷 이용자 인증방법 |
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 |