CN117454342A - 基于区块链的数据处理方法、装置、设备及可读存储介质 - Google Patents

基于区块链的数据处理方法、装置、设备及可读存储介质 Download PDF

Info

Publication number
CN117454342A
CN117454342A CN202311461397.XA CN202311461397A CN117454342A CN 117454342 A CN117454342 A CN 117454342A CN 202311461397 A CN202311461397 A CN 202311461397A CN 117454342 A CN117454342 A CN 117454342A
Authority
CN
China
Prior art keywords
transaction object
information
transaction
identity
character
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
Application number
CN202311461397.XA
Other languages
English (en)
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202311461397.XA priority Critical patent/CN117454342A/zh
Publication of CN117454342A publication Critical patent/CN117454342A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4014Identity check for transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Technology Law (AREA)
  • Computing Systems (AREA)
  • Development Economics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本申请公开了一种基于区块链的数据处理方法、装置、设备及可读存储介质,方法包括:接收关于交易对象的身份验证信息;基于身份验证信息向交易对象发送认证授权请求;将交易对象基于认证授权请求所返回的第一授权解锁信息,与参考解锁信息进行匹配;若第一授权解锁信息与参考解锁信息相匹配,则采用身份验证器中的交易对象的私钥,协同服务器对交易对象进行身份认证;服务器是采用交易对象的公钥对交易对象进行身份认证的,且在身份认证通过后服务器用于执行交易请求所指示的交易。采用本申请,可以在区块链应用中提升身份认证的安全性,从而提升区块链应用中虚拟资源的安全性。

Description

基于区块链的数据处理方法、装置、设备及可读存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种基于区块链的数据处理方法、装置、设备及可读存储介质。
背景技术
区块链是一种分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式,主要用于对数据按时间顺序进行整理,并加密成账本,使其不可被篡改和伪造,同时可进行数据的验证、存储和更新。
对于用户而言,可以通过区块链应用(如资源客户端)来管理虚拟资源(如虚拟金币、虚拟钻石等等),例如,可以通过区块链应用将虚拟资源进行转移。对于区块链应用中的关于虚拟资源的相关交易(如虚拟资源的转移交易、虚拟资源的余额查询交易等等),在执行交易前均需要对交易发起对象(也就是发起这个交易的对象)的身份进行认证,在交易发起对象的身份认证通过后,才可执行该交易发起对象所发起的关于虚拟资源的交易。
然而,相关技术中,通常是采用传统的密码认证方式来对交易发起对象的身份进行认证,具体需要交易发起对象输入区块链应用中的账户名、用于进行虚拟资源交易的密码来进行认证,然而,对于交易发起对象用于进行身份认证的密码,由于在进行身份认证时需要与区块链应用对应的服务器进行交互以进行身份认证,那么该密码被泄露的可能性较高,恶意攻击者可能会利用网络钓鱼的方式获取到交易发起对象的密码,密码的安全性不高,不利于有效保护区块链应用中虚拟资源的安全。可见,在区块链应用中的身份认证场景中,亟需一种能够安全的身份认证方式,从而可以提升区块链应用中虚拟资源的安全性。
发明内容
本申请实施例提供一种基于区块链的数据处理方法、装置、设备及可读存储介质,可以在区块链应用中提升身份认证的安全性,从而提升区块链应用中虚拟资源的安全性。
本申请实施例一方面提供了一种基于区块链的数据处理方法,包括:
接收关于交易对象的身份验证信息;身份验证信息由服务器响应于交易对象在区块链应用中发起的交易请求而发送的;身份验证信息用于指示对交易对象进行身份认证;交易对象的私钥锁定在身份验证器中,交易对象的公钥存储在服务器中;身份验证器中预注册有交易对象的参考解锁信息;
基于身份验证信息向交易对象发送认证授权请求;认证授权请求用于请求交易对象授权解锁身份验证器中的交易对象的私钥;
将交易对象基于认证授权请求所返回的第一授权解锁信息,与参考解锁信息进行匹配;
若第一授权解锁信息与参考解锁信息相匹配,则采用身份验证器中的交易对象的私钥,协同服务器对交易对象进行身份认证;服务器是采用交易对象的公钥对交易对象进行身份认证的,且在身份认证通过后服务器用于执行交易请求所指示的交易。
本申请实施例一方面提供了一种基于区块链的数据处理装置,包括:
信息接收模块,用于接收关于交易对象的身份验证信息;身份验证信息由服务器响应于交易对象在区块链应用中发起的交易请求而发送的;身份验证信息用于指示对交易对象进行身份认证;交易对象的私钥锁定在身份验证器中,交易对象的公钥存储在服务器中;身份验证器中预注册有交易对象的参考解锁信息;
第一请求发送模块,用于基于身份验证信息向交易对象发送认证授权请求;认证授权请求用于请求交易对象授权解锁身份验证器中的交易对象的私钥;
第一信息匹配模块,用于将交易对象基于认证授权请求所返回的第一授权解锁信息,与参考解锁信息进行匹配;
身份认证模块,用于若第一授权解锁信息与参考解锁信息相匹配,则采用身份验证器中的交易对象的私钥,协同服务器对交易对象进行身份认证;服务器是采用交易对象的公钥对交易对象进行身份认证的,且在身份认证通过后服务器用于执行交易请求所指示的交易。
在一个实施例中,在接收关于交易对象的身份验证信息之前,基于区块链的数据处理装置还包括:
注册请求接收模块,用于接收交易对象发送的关于身份验证器的身份认证注册请求;
信息获取模块,用于通过身份认证注册请求获取交易对象的参考解锁信息;
验证模块,用于对交易对象的参考解锁信息进行合法性验证,得到交易对象的参考解锁信息的合法性验证结果;
密钥生成模块,用于若确定合法性验证结果指示交易对象的参考解锁信息具备合法性,则在身份验证器中生成密钥对;密钥对包括交易对象的公钥与交易对象的私钥;交易对象的公钥与交易对象的私钥均与交易对象在区块链应用中的账户相关联;
信息注册模块,用于将交易对象的参考解锁信息、交易对象的公钥与交易对象的私钥均进行注册存储处理。
在一个实施例中,信息获取模块通过身份认证注册请求获取交易对象的参考解锁信息的具体实现方式,包括:
通过身份认证注册请求向交易对象推送解锁信息输入界面;解锁信息输入界面用于指示交易对象在解锁信息输入界面中输入关于身份验证器的解锁信息;
响应交易对象对解锁信息输入界面的信息输入操作,获取交易对象所输入的解锁信息;
将获取到的交易对象所输入的解锁信息,确定为交易对象的参考解锁信息。
在一个实施例中,交易对象的参考解锁信息包括交易对象的关键部位特征;关键部位特征是指交易对象的关键部位的特征;
验证模块对交易对象的参考解锁信息进行合法性验证,得到交易对象的参考解锁信息的合法性验证结果的具体方式,包括:
获取关键部位的模板部位动作;
获取交易对象的关键部位特征所指示的实时部位动作;
将模板部位动作与实时部位动作进行匹配;
若确定模板部位动作与实时部位动作之间的匹配结果为匹配成功结果,则确定交易对象的参考解锁信息的合法性验证结果为验证通过结果;
若确定模板部位动作与实时部位动作之间的匹配结果为匹配不成功结果,则确定交易对象的参考解锁信息的合法性验证结果为验证不通过结果。
在一个实施例中,交易对象的参考解锁信息包括交易对象输入的字符序列;
验证模块对交易对象的参考解锁信息进行合法性验证,得到交易对象的参考解锁信息的合法性验证结果的具体方式,包括:
将字符序列输入至字符分析模型;
通过字符分析模型对字符序列进行解密难度分析处理,得到字符序列所指示的字符解密难度;
按照字符解密难度所属的难度等级,确定交易对象的参考解锁信息的合法性验证结果。
在一个实施例中,验证模块通过字符分析模型对字符序列进行解密难度分析处理,得到字符序列所指示的字符解密难度的具体方式,包括:
通过字符分析模型,统计字符序列所包含的字符类型的数量;
若字符序列中的字符类型的数量大于数量阈值,则对字符序列进行连续性分析,得到字符序列所指示的字符解密难度;
若字符序列中的字符类型的数量小于数量阈值,则将第一区间难度确定为字符序列所指示的字符解密难度。
在一个实施例中,字符序列中的字符类型包括第一字符类型与第二字符类型;
验证模块对字符序列进行连续性分析,得到字符序列所指示的字符解密难度的具体方式,包括:
将字符序列中的属于第一字符类型的W个字符均确定为第一字符,将字符序列中的属于第二字符类型的Q个字符均确定为第二字符;W、Q均为正整数;
对W个第一字符进行连续性分析,得到W个第一字符所指示的第一字符连续属性;
对Q个第二字符进行连续性分析,得到Q个第二字符所指示的第二字符连续属性;
若第一字符连续属性与第二字符连续属性均为不存在连续属性,则将第二区间难度确定为字符序列所指示的字符解密难度;第二区间难度所属的难度等级高于第一区间难度所属的难度等级;
若第一字符连续属性或第二字符连续属性为存在连续属性,则将第三区间难度确定为字符序列所指示的字符解密难度;第三区间难度所属的难度等级高于第一区间难度所属的难度等级,且第三区间难度所属的难度等级低于第二区间难度所属的难度等级。
在一个实施例中,验证模块按照字符解密难度所属的难度等级,确定交易对象的参考解锁信息的合法性验证结果的具体方式,包括:
将字符解密难度所属的难度等级与等级阈值进行比较;
若确定字符解密难度所属的难度等级等于或高于等级阈值,则确定交易对象的参考解锁信息的合法性验证结果为验证通过结果;
若确定字符解密难度所属的难度等级低于等级阈值,则确定交易对象的参考解锁信息的合法性验证结果为验证不通过结果。
在一个实施例中,信息注册模块将交易对象的参考解锁信息、交易对象的公钥与交易对象的私钥均进行注册存储处理的具体方式,包括:
将交易对象的公钥发送至服务器;
接收服务器返回的关于交易对象的公钥的存储通知;
若存储通知为存储成功通知,则将交易对象的参考解锁信息,与交易对象的私钥关联注册至身份验证器所支持的硬件设备中;存储成功通知用于指示服务器已成功将交易对象的公钥与交易对象的账户关联存储。
在一个实施例中,身份认证模块采用身份验证器中的交易对象的私钥,协同服务器对交易对象进行身份认证的具体方式,包括:
采用身份验证器中的交易对象的私钥,对身份验证信息进行签名处理,得到身份验证信息的签名信息;
将身份验证信息的签名信息发送至服务器,由服务器采用交易对象的公钥,对身份验证信息的签名信息进行验签,并在验签通过后将交易对象的身份认证结果确定为认证通过结果;认证通过结果用于指示交易对象身份认证通过。
在一个实施例中,在第一信息匹配模块,将交易对象基于认证授权请求所返回的第一授权解锁信息,与参考解锁信息进行匹配之后,基于区块链的数据处理装置还包括:
频率统计模块,用于若第一授权解锁信息与参考解锁信息不匹配,则统计交易对象针对交易请求的授权解锁频率;授权解锁频率是指交易对象授权解锁身份验证器中的交易对象的私钥的频率;
第二请求发送模块,用于若授权解锁频率小于频率阈值,则向交易对象发送重新授权请求;重新授权请求用于请求交易对象重新授权解锁身份验证器中的交易对象的私钥;
第二信息匹配模块,将交易对象基于重新授权请求所返回的第二授权解锁信息,与参考解锁信息进行匹配;
认证模块,用于若第二授权解锁信息与参考解锁信息相匹配,则采用身份验证器中的交易对象的私钥,协同服务器对交易对象进行身份认证。
在一个实施例中,在频率统计模块统计交易对象针对交易请求的授权解锁频率之后,基于区块链的数据处理装置还包括:
若授权解锁频率大于频率阈值,则在指定时间段内限制交易对象的解锁权限;解锁权限是指授权解锁身份验证器中的交易对象的私钥的权限。
本申请实施例一方面提供了一种计算机设备,包括:处理器和存储器;
存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行本申请实施例中的方法。
本申请实施例一方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序包括程序指令,程序指令当被处理器执行时,执行本申请实施例中的方法。
本申请的一个方面,提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序,处理器执行该计算机程序,使得该计算机设备执行本申请实施例中一方面提供的方法。
在本申请实施例中,在区块链应用中的身份认证场景中,引入无密认证方案,对于交易对象(可以是指发起交易的对象,如发起交易的用户)而言,在对区块链应用中所持有的虚拟资源发起相关交易时,无需输入自己的身份信息(如账户信息、密码信息等),即可安全的进行身份认证。具体的,本申请具体在区块链应用的身份认证场景中引入身份验证器,该身份验证器中可以锁定有交易对象的私钥、且预注册由交易对象对该私钥的参考解锁信息,而区块链应用对应的服务器可以存储有交易对象的公钥,那么对于交易对象的身份认证,可以由服务器与身份验证器进行交互即可,具体可以通过交易对象的私钥与服务器中存储的公钥来进行身份认证。例如,交易对象在发起交易请求之后,服务器可以向身份验证器发送关于该交易对象的身份验证信息,该身份验证信息用于指示对交易对象进行身份认证,那么该身份验证器即可基于该身份验证信息,向交易对象发送认证授权请求,用于请求该交易对象授权解锁身份验证器中的私钥,交易对象基于该认证授权请求可以输入一个授权解锁信息(如第一授权解锁信息),若该授权解锁信息与预注册的参考解锁信息相匹配,那么身份验证器即可采用私钥,协同服务器进行身份认证,服务器在确定交易对象身份认证通过后,即可执行该交易请求所指示的相关交易。应当理解的是,在区块链应用的身份认证场景中,引入身份验证器的方式,可以使得交易对象无需输入传统的如密码在内的身份信息,只需要输入用于授权解锁身份验证器中的私钥的授权解锁信息即可,后续由身份验证器与服务器进行交互,该授权解锁信息与交易对象的私钥由身份验证器本地保存,只有交易对象所知,永远不会离开本地设备,不会与服务器或其他任何对象共享,服务器仅保存交易对象的公钥,被泄露的可能性非常低。综上,本申请所提供的无密身份认证方案,可以使用公私钥体系完成身份认证,具备更高的安全性,从而可以提升区块链应用中虚拟资源的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种网络架构图;
图2a是本申请实施例提供的一种进行身份认证的场景示意图;
图2b是本申请实施例提供的一种采用私钥进行身份认证的场景示意图;
图3是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图;
图4是本申请实施例提供的一种系统逻辑交互示意图;
图5是本申请实施例提供的一种信息注册的流程示意图;
图6是本申请实施例提供的一种基于区块链的数据处理装置的结构示意图;
图7是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例所提供的方法涉及到区块链等相关技术,为便于理解,以下将优先对区块链及其相关技术进行阐述:
1、区块链:狭义上,区块链是一种以区块为基本单位的链式数据结构,区块中利用数字摘要对之前获取的交易历史进行校验,适合分布式记账场景下防篡改和可扩展性的需求;广义上,区块链还指代区块链结构实现的分布式记账技术,包括分布式共识、隐私与安全保护、点对点通信技术、网络协议、智能合约等。区块链的目标是实现一个分布的数据记录账本,此账本只允许添加,不允许删除。账本底层的基本结构是一个线性的链表。链表由一个个“区块”串联组成,后继区块中记录前继区块的哈希(Hash)值,每个区块(以及区块中的交易)是否合法,可通过计算哈希值的方式进行快速检验。若网络中的节点提议添加一个新的区块,必须经过共识机制对区块达成共识确认。
2、区块链节点:区块链网络将节点区分为共识节点(也可以称作核心节点)、数据节点或轻节点。其中,共识节点负责区块链全网的共识业务;数据节点或轻节点负责同步共识节点的账本信息,即同步最新的区块数据。无论是共识节点还是数据节点(或轻节点),其内部构造都包括网络通信组件,因为区块链网络本质是一个点对点网络,需通过相关组件与区块链网络中的其他节点进行通信。区块链网络中的资源和服务都分散在各个节点上,信息的传输和服务的实现都直接在节点之间进行,无需中间环节或中心化的服务器(第三方)介入。
3、公钥(public key)与私钥(private key):公钥与私钥是通过一种算法得到的一个密钥对(即一个公钥和一个私钥),公钥是密钥对中公开的部分,私钥则是非公开的部分。公钥通常用于加密数据、验证数字签名等。通过这种算法能够确保得到的密钥对是唯一的,使用这种密钥对的时候,如果用其中一个密钥加密一段数据,必须用另一个密钥解密,例如,用公钥加密数据就必须用私钥解密,如果用私钥加密也必须用公钥解密,否则解密将不会成功。
4、智能合约(Smart Contract):是一种旨在以信息化方式传播、验证或执行合同的计算机协议。在区块链系统当中,智能合约(简称合约)是一种区块链各节点可以理解并执行的代码,可以执行任意逻辑并得到结果。在实际应用中,智能合约通过区块链上的交易来管理与试用。每条交易相当于对区块链系统的一个远程过程调用(Remote ProcedureCall,RPC)请求。如果说智能合约相当于可执行程序,区块链就相当于提供运行环境的操作系统。区块链可以包含多个合约,以合约账号(Identity,ID)、标识号或名称来区分。例如,智能合约中可以包含治理共识委员会合约,其主要用于管理共识节点,可以包括记录共识节点的节点状态,动态地加入共识节点,剔除异常共识节点等。
请参见图1,图1是本申请实施例提供的一种网络架构图。如图1所示,该网络架构可以包括终端设备集群10以及区块链网络,而区块链网络中可以包括核心节点(共识节点)集群1000、数据节点或轻节点集群100。该核心节点集群1000可以包括至少两个核心节点,数据节点集群100可以包括至少两个数据节点。如图1所示,该核心节点集群1000可以包括核心节点1000a、核心节点1000b、…、核心节点1000n,该数据节点集群100具体可以包括数据节点100a、数据节点100b、…、数据节点100n,该终端设备集群10具体可以包括终端设备10a、终端设备10b、…、终端设备10n。
如图1所示,终端设备10a、终端设备10b、…、终端设备10n可以分别与数据节点100a、数据节点100b、…、数据节点100n进行网络连接,以便于终端设备可以通过该网络连接与数据节点进行数据交互;数据节点100a、数据节点100b、…、数据节点100n可以分别与核心节点1000a、核心节点1000b、…、核心节点1000n进行网络连接,以便于数据节点可以通过该网络连接与核心节点进行数据交互;数据节点100a、数据节点100b、…、数据节点100n互相连接,以便于数据节点之间可以进行数据交互,核心节点1000a、核心节点1000b、…、核心节点1000n互相连接,以便于核心节点之间可以进行数据交互。
以终端设备10a、数据节点100a以及核心节点1000a为例,数据节点100a可以接收到终端设备10a发送的交易业务请求(该交易业务请求中携带智能合约的ID或名称),随后,数据节点100a可以通过数据节点集群100将该交易业务请求发送至核心节点1000a;而核心节点1000a可以运行该智能合约,并通过该智能合约执行该交易业务,得到执行结果后,可以将该执行结果存储至内存池(如交易池)中,并根据该执行结果生成新的区块;随后,核心节点1000a可以根据区块链网络中其他核心节点(即共识节点)的节点标识,将上述新生成的区块分别发送给其所在的区块链网络中的其他核心节点,由其他核心节点对新生成的区块进行校验(即进行共识),并在完成校验后将上述新生成的区块添加至其存储的区块链中(也就是说,在共识通过后将执行结果存储至区块链中)。其中,区块链网络中的每个核心节点,均具有与其对应的节点标识,而且区块链网络中的每个核心节点均可以存储有区块链网络中其他核心节点的节点标识,以便后续根据其他核心节点的节点标识,将生成的区块广播至区块链网络中的其他核心节点,使得区块链网络中全部核心节点上存储的数据均一致。
其中,如图1所示的终端设备具体可以是产生交易信息的业务方所使用的台式终端或移动终端,具体可以为智能手机、平板电脑、笔记本电脑、桌上型电脑、智能电视、智能音箱、台式计算机、智能手表、智能车载终端、智能语音交互设备等携带数据处理功能的智能终端,但并不局限于此。终端设备所产生的交易信息(交易数据)在经过用户授权后,可以经数据节点或轻节点传递至共识节点,共识节点可以将终端设备产生的交易信息(交易数据)记录至区块链上。数据节点集群100中的任一数据节点可以用独立的服务器或者是多个服务器组成的服务器集群来实现,核心节点集群1000中的任一核心节点可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
可以理解的是,终端设备的交易业务可以理解为交易数据,对于区块链存储交易数据的主要形式为:将交易数据以接力棒的形式传递至共识节点,共识节点再对接收到的交易数据进行交易验证,在交易验证通过后可以将其添加至自己的交易池中,在添加交易数据至自己的交易池之后,该共识节点可以将该交易数据广播至区块链的其他共识节点,而其他共识节点也会对该交易数据进行验证,然后再对该交易数据进行验证,在验证通过后可以将交易数据添加至自己的交易池中。进一步地,对于每个共识节点而言,在接收到出块信号(出块信号可以是指定时器发出的出块信号或交易池发出的出块信号)时,共识节点可以从交易池中获取一批交易数据来进行打包出块(即打包交易数据生成区块),对于生成的区块需要广播至每个共识节点,以使得所有的共识节点来对新生成的区块进行共识校验,在通过各个共识节点的共识后可以将区块添加到区块链上。
应当理解,对于区块链所支持的虚拟资源(如虚拟金币、虚拟钻石等等)而言,可供不同对象(如用户或智能机器人)进行购买、转移等,而每个对象所持有的虚拟资源,可以通过区块链应用(如资源客户端)进行管理,本申请可将资源客户端理解为一个应用(可称之为区块链应用),不同对象可通过该区块链应用发起关于虚拟资源的相关交易(如虚拟资源购入交易、虚拟资源转移交易等)。即,本申请中的区块链应用(资源客户端)可以用以实现虚拟资源的管理业务功能,资源客户端具体可以是一种用于负责管理、存储用户虚拟资源(也可称之为数字资源)的工具,例如可基于资源客户端向其它账户转移数字资源,又如可基于资源客户端接收其它账户所转入的数字资源。该资源客户端可以是硬件设备也可以为软件程序。本申请中,资源客户端可与去中心化应用客户端之间建立通信连接,以实现某个对象(如用户)的授权登录等相关操作。
综上可知,任一对象可以通过区块链应用向其他账户转移虚拟资源,也可接收其他账户所转入的虚拟资源,对于区块链应用中的虚拟资源的转移,可以理解为不同对象所发起的关于虚拟资源的交易,而对于任一对象在区块链应用中所发起的关于虚拟资源的交易,区块链应用均需要先对交易发起对象(本申请可称之为交易对象)进行身份认证(通过身份认证以认证该交易对象是否拥有交易权限),在确定该交易对象身份认证通过之后,区块链应用所对应的服务器才会执行该交易。
而为了提升区块链应用中的身份认证的安全性,以提升区块链应用中虚拟资源的安全性,本申请提出一种关于交易对象的身份认证方法,通过本申请所提供的身份认证方式可以使得交易对象进行无密认证,无需采用传统的认证方式输入账户密码即可进行身份认证。具体的,在本申请中,在区块链应用中可提供有身份验证器(该身份验证器具体可以为FIDO2身份验证器,其中,FIDO2可以是指快速在线身份验证(Fast Identity Online)的简称,该FIDO2是一种面向网络身份验证的方案,目的在于提供更好的在线安全性核隐私性。交易对象若同意采用通过身份验证器所提供的无密身份认证方式,那么该身份验证器即可为交易对象在区块链应用中的账户生成一个包含公钥与私钥的密钥对,其中,所生成的私钥可以由身份验证器自行存储(例如,可以存储在身份验证器所支持的硬件设备中),而所生成的公钥可以发送至服务器保存,那么交易对象不会再和服务器共享自己的相关身份信息(如账户密码)。其中,对于存储在身份验证器中的私钥,身份验证器会对其进行锁定,那么该私钥永远不会离开身份验证器的本地设备中,而交易对象可以预先注册一个解锁信息来授权该身份验证器解锁并使用身份验证器中的私钥,该交易对象所预注册的解锁信息可称之为参考解锁信息,例如,交易对象可以输入自己的关键部位(该关键部位可以是指能够唯一表征交易对象的部位,且该关键部位可以用于组成该交易对象,举例而言,该关键部位如手部、头部等等)的特征作为参考解锁信息,也可以输入一个字符串(即字符序列)作为参考解锁信息。也就是说,对于参考解锁信息可以是指交易对象的关键部位特征,也可以是指字符串,当然还可以为其他形式的内容,本申请对其并不进行限制。
而在交易对象发起一个交易请求之后,在对交易对象进行身份认证时,服务器即可给交易对象发一个随机消息(如随机字符串)作为交易对象的身份验证信息,然后该交易对象可通过输入上述所注册的解锁信息来授权身份验证器对这个身份验证信息进行签名,而身份验证器在得到授权之后,即可使用本地保存的私钥对身份验证信息进行签名,并将该签名信息发送至服务器,服务器即可采用该交易对象的账户相关联的公钥对该签名信息进行验签,若验签通过,则可说明该交易对象的身份是合法的(即交易对象的身份认证结果为认证通过结果),服务器可对该交易对象发起的交易进行执行。
也就是说,在区块链应用中的身份认证中,本申请引入了一个身份验证器,该身份验证器可用于生成并记录保存交易对象的私钥,对于身份认证中的交互流程也是由身份验证器去和服务器之间进行交互,对于交易对象而言,仅需要使用解锁信息授权身份验证器对私钥的访问,而对于私钥的访问的方式(即解锁信息),不会共享至其他对象(如服务器),从而可以降低这些较为隐私的信息被泄露的可能,可以很好地保护私钥的安全,从而可以提升区块链应用中虚拟资源的安全性。
可以理解的是,本申请的终端设备中可以安装有目标应用(即应用客户端),当该应用客户端运行于终端设备中时,可以与上述图1所示的区块链网络中的其他区块链节点之间进行数据交互。其中,该应用客户端可以包含多媒体客户端(例如,视频客户端)、娱乐客户端(例如,游戏客户端)、教育客户端、直播客户端等应用客户端。其中,该应用客户端可以为独立的客户端,也可以为集成在某客户端(例如,教育客户端以及多媒体客户端等)中的嵌入式子客户端,在此不做限定。本申请中区块链节点可以是指服务器,该服务器可以通过终端设备中的应用,与终端设备之间进行数据交互(如服务器可以接收到终端设备中的应用的业务数据(如用户产生的交易数据),服务器可以将这些业务数据进行处理并上链)。这里的服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
可以理解的是,本发明实施例提供的方法可以由计算机设备执行,计算机设备包括但不限于身份验证器(如FIDO2所支持的身份验证器)。
需要说明的是,在本申请的具体实施方式中,涉及到用户信息、用户数据(如用户发起的交易信息、交易数据)等相关的数据,均是需要经过用户手动授权许可(即经过用户同意)才进行获取得到的。也就是说,当本申请以上实施例运用到具体产品或技术中时,本申请实施例所提供的方法与相关功能是在获得用户许可或者同意下所运行的(可以由用户主动开启本申请实施例所提供的功能),且相关数据的收集、使用和处理需要遵守相关地域、地区的相关法律法规和标准。
本申请实施例可应用于各种场景,包括但不限于游戏场景、金融场景、云技术、人工智能、智慧交通、辅助驾驶等。为便于理解,请一并参见图2a,图2a是本申请实施例提供的一种进行身份认证的场景示意图。如图2a所示,假设对象a通过终端设备100a中的浏览器,访问了基于区块链的资源客户端(即用于进行资源管理的客户端,本申请简称其为区块链应用。也就是说,本申请中的区块链应用也可以通过网页或浏览器等网络形式进行访问),且该对象a在区块链应用中发起了一个交易请求,用于请求将对象a的在区块链应用中所持有的50个虚拟钻石,转移至另一个对象(如对象b)在区块链应用中的账户中。那么该对象a即可理解为本申请中的一个交易对象(以下将对象a称为交易对象a),区块链应用所对应的服务器2001在接收到交易对象a发起的该交易请求后,可以向身份验证器2002发送一个随机消息用于对交易对象a进行无密身份认证,服务器2001所发送的随机消息可理解为身份验证信息。其中,这里的随机消息可以是指一个随机字符串或其他采用随机算法所生成的内容,且这里的身份验证器2002可以是指FIDO2身份验证器。其中,该身份验证器2002中存储有为交易对象a在区块链应用中的账户所生成的私钥,也预注册有交易对象a用于授权解锁该私钥的授权解锁信息(具体是指一个由多个数字所组成的字符串(即授权码),该字符串也就是指参考解锁信息)。
进一步地,身份验证器2002可以基于服务器2001发送的身份验证信息,向终端设备100a发送一个私钥使用确认提示信息,用于询问交易对象a是否要使用身份验证器中的私钥以进行身份认证,例如,如图2a所示,终端设备100a在接收到身份验证器所发送的该提示信息之后,即可在终端显示界面上显示一个询问提示信息,该询问提示信息中包含有文本内容“要用这个私钥吗”以及“该私钥将用于对您进行身份认证”,该终端显示界面中还可显示有继续控件以及取消控件,交易对象a可通过对继续控件的触发操作,来确认使用身份验证器中的私钥以进行身份认证,也可通过对取消控件的取消操作,来拒绝使用身份验证器中的私钥以进行身份认证。
如图2a所示,在交易对象对继续控件产生触发操作后,终端设备100a可以响应这一触发操作,显示授权码输入界面,该交易对象a需要在该授权码输入界面中输入用于授权解锁身份验证器中的私钥的解锁信息(即预先注册的授权码)。假设交易对象a输入了正确的授权码(即预先注册的授权码),那么身份验证器即可使用身份验证器中的私钥与服务器交互以对交易对象a进行身份认证;假设交易对象a输入的授权码并非为预先注册的那一个授权码,那么交易对象a则无法使用身份验证器中的私钥,身份验证器不会使用私钥去与服务器进行交互以身份认证,换句话说,如果交易对象所输入的授权码不正确,那么可以直接认为该交易对象a的身份认证未通过。
进一步地,请参见图2b,图2b是本申请实施例提供的一种采用私钥进行身份认证的场景示意图。如图2b所示的实施例是对应于图2a所示的实施例的后续场景示例。如图2b所示,在上述图2a所示的实施例中,交易对象a所输入的授权码本申请可以称之为实时授权码(也就是本申请中的第一授权解锁信息),终端设备100a可以将该实时授权码发送至身份验证器2002,身份验证器2002可以将该实时授权码与交易对象a所预注册的授权码进行匹配,若两者是相匹配的,那么该身份验证器2002即可采用身份验证器中的私钥,对服务器2001发送过来的随机消息(即身份验证信息)进行签名,得到一个签名信息,身份验证器2002可以将该签名信息发送至服务器2001,服务器2001可以采用与交易对象a在区块链应用中的账户所关联的公钥(该公钥与私钥均是在身份验证器中所生成的,在身份验证器中可以生成一个包含公钥与私钥的密钥对,然后交易对象a可以注册一个解锁信息来对私钥进行授权解锁,而公钥即可发送至服务器进行保存),对该签名信息进行验签,若验签通过则可确定交易对象a通过了身份认证;而若验签失败(未通过)则可确定交易对象a未通过身份认证。在确定交易对象a通过身份认证时,服务器2001可以执行交易对象a的交易请求所指示的交易(即将50个虚拟钻石转移至对象b),对于该交易以及交易执行后得到的交易执行结果,服务器2001可以将其添加到区块链上进行存储记录。
应当理解,通过在区块链应用中引入身份验证器,可以使得各个交易对象的身份认证变得更为高效及安全,交易对象无需输入传统的密码,只需要授权身份验证器使用身份验证器中的私钥即可,对于身份认证中的交互流程也是由身份验证器去和服务器之间进行交互,交易对象的私钥永远不会离开身份验证器,安全性极高,由此可以很好地提升密钥保护的安全型,进而可以提升区块链应用中虚拟资源的安全性;同时,对于身份验证器的私钥的解锁信息,是仅由交易对象自行所知的,其主要保存于身份验证器所支持的硬件设备中,被泄露的可能性较低,由此也可以进一步密钥保护的安全性。
为便于理解,接下来将结合附图对本申请实施例提供的基于区块链的数据处理方法进行详细描述。请参见图3,图3是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图。该流程可以由身份验证器来执行。如图3所示,该流程可以至少包括以下步骤S101-步骤S104:
步骤S101,接收关于交易对象的身份验证信息;身份验证信息由服务器响应于交易对象在区块链应用中发起的交易请求而发送的;身份验证信息用于指示对交易对象进行身份认证;交易对象的私钥锁定在身份验证器中,交易对象的公钥存储在服务器中;身份验证器中预注册有交易对象的参考解锁信息。
本申请中,区块链应用可以是指基于区块链的资源客户端,对象(如用户、智能机器人等)可通过终端设备对其进行访问,例如,当终端设备中部署有独立的区块链应用时,对象可以直接访问该独立的区块链应用;当终端设备中未部署有区块链应用时,对象可以通过浏览器来对区块链应用进行网页访问。在区块链应用中,每个对象可以持有区块链所支持的不同数量的虚拟资源(虚拟资源如虚拟金币、虚拟钻石等等),不同对象可以在登录区块链应用之后,在区块链应用中发起关于虚拟资源的相关交易(交易如:将自己所持有的部分虚拟资源转移至其他对象、将自己所持有的虚拟资源卖出给某个对象、在区块链应用买入其他对象的部分虚拟资源、或者对自己所持有的虚拟资源进行查询,也就是说,关于虚拟资源的交易可以包括但不限于虚拟资源买入交易、虚拟资源卖出交易、虚拟资源查询交易、虚拟资源转移交易等等)。而在区块链应用中,对于发起交易的对象,本申请可以称之为交易对象,每个交易对象可以在区块链应用中提交一个交易请求用于请求执行一笔关于虚拟资源的交易,而在交易对象发起交易请求之后,在执行交易请求所指示的交易之前,区块链应用需要对交易对象进行身份认证(如区块链应用所对应的服务器对交易对象进行身份认证),在身份认证通过之后,区块链应用对应的服务器才会执行这个交易。
而为了提升身份认证的安全性以及区块链应用中虚拟资源的安全性,本申请在区块链的身份认证中引入了身份验证器,该身份验证器可以是指FIDO2身份验证器,该身份认证器可以为区块链应用中的对象(如用户)的账户生成一个包含公钥与私钥的密钥对,其中,私钥可以由身份验证器自行保存(如保存于身份验证器所支持的硬件设备中),而公钥可以发送给服务器进行保存,由此,服务器中仅会保存有对象的公钥,各个交易对象不会再和服务器共享自己的相关身份信息(如密码等信息)。
在对某个交易对象进行身份认证的时候,服务器可以先向交易对象发送一个随机消息(如随机字符串),以使交易对象基于该随机消息进行身份认证,那么该服务器所发送的用于进行身份认证的消息可以理解为身份验证信息,交易对象可以通过预先注册的解锁信息授权身份验证器访问身份验证器中所存储的私钥,在得到授权之后,身份验证器即可采用私钥对这个身份验证信息进行签名(具体可以先对这个身份验证信息进行哈希计算,然后用本地保存的私钥对哈希计算得到的哈希值进行加密),身份验证器可以将这段签名信息发送至服务器,服务器再采用交易对象的账户相关联的公钥对其进行验签,如果验签通过即可说明交易对象的身份认证结果是认证通过结果;如若验签未通过则可说明交易对象的身份认证结果是认证未通过结果。
综上可见,本申请中,通过引入身份验证器来生成公私钥,并采用公私钥来进行身份认证的方式,可以使得交易对象进行无密身份认证,交易对象无需输入密码即可高效安全地进行身份认证。其中,对于身份验证器而言,若交易对象期望后续进行身份认真时,采用身份验证器来进行无密身份认证,那么该交易对象需要先在身份验证器中注册一个解锁信息,作为身份验证器为交易对象的账户所生成的私钥的解锁信息,这个解锁信息也就是本申请中的参考解锁信息,该参考解锁信息会预注册在身份验证器中,该参考解锁信息不会泄露至其他任何对象,仅由交易对象本人可知自己的解锁信息,那么对于身份验证器中的私钥,交易对象只需要输入自己所预注册的参考解锁信息,即可授权身份验证器访问本地所存储的私钥。换言之,交易对象只需要授权身份验证器访问私钥即可,无需输入其他任何有关于自己的身份信息(如账户密码信息)即可安全实现对自己的身份认证,其中,本申请中的交易对象所输入的解锁信息(即参考解锁信息)可以是指便于记忆或便于操作的信息,例如,该参考解锁信息可以是指交易对象的关键部位特征,这里的关键部位可以是指交易对象的手部、眼部、头部等等,那么关键部位特征即可是指手部特征、眼部特征、头部特征等等,那么交易对象在进行身份认证时,只需要重新录入关键部位特征即可快速授权身份验证器采用私钥进行身份认证;又如,参考解锁信息可以是指身份验证器所支持的硬件设备上的某个特定按钮,那么在进行身份认证时,交易对象只需要对该硬件设备上的按钮进行按动即可授权身份验证器访问私钥(具体的,该硬件设备可以是指可移动的能够随身携带的设备,交易对象可以将该硬件设备插入至终端设备,再通过按动该硬件设备上的按钮即可快速授权身份验证器访问私钥);再如,参考解锁信息还可以是指交易对象自行所创建的一个字符串(也就是不同字符所组成的字符序列),交易对象输入该字符序列即可授权身份验证器访问该私钥。
综上可知,本申请中若交易对象同意使用身份验证器来与服务器进行交互,以对交易对象进行身份认证,那么该身份验证器则可以为交易对象在区块链应用中的账户生成一个包含公钥与私钥的密钥对,其中,该公钥会发送至服务器进行保存,而私钥则会保存于身份验证器所支持的硬件设备中;对于身份验证器中的私钥的访问,交易对象需要输入一个解锁信息,用于授权身份验证器访问该私钥,对于该交易对象所输入的解锁信息,会作为参考解锁信息注册到身份验证器中,那么在后续交易对象每次发起交易请求之后,在对该交易对象进行身份认证时,交易对象即可通过输入参考解锁信息的方式,来授权身份验证器访问私钥,并通过私钥来进行无密身份认证。具体流程可为:服务器在接收到交易对象在区块链应用中发起的交易请求之后,可以先发送一个身份验证信息(如,服务器可以向身份验证器发送一个身份验证信息),该身份验证信息主要用于对交易对象进行身份认证,而身份验证器可以生成一个认证授权请求(用于请求交易对象授权解锁该身份验证器中的交易对象的私钥),并将该认证授权请求发送至终端设备,该终端设备即可基于该认证授权请求输出一个用于请求交易对象输入参考解锁信息的界面,交易对象可以在终端设备所显示的界面中输入自己预注册的参考解锁信息,以授权身份验证器访问私钥。
也就是说,本申请中的交易对象的公钥与私钥,均是身份验证器对交易对象在区块链应用中的账户所生成的,公钥会存储在服务器中,而私钥则会锁定记录在身份验证器中,该私钥永远不会离开本地,该身份验证器还会预注册有交易对象所创建的用于授权身份验证器访问私钥的解锁信息,该解锁信息也就是参考解锁信息。
也就是说,在接收关于交易对象的身份验证信息之前,交易对象需要先注册参考解锁信息,身份验证器需要先为交易对象在区块链应用中的账户生成一对公私钥,然后在公私钥相应注册存储完成,且参考解锁信息也注册存储完成之后,交易对象再发起交易请求,服务器再发送身份验证信息以基于公私钥进行无密身份认证。对于注册参考解锁信息、公私钥的具体流程,可以参见后续图5所对应实施例中的描述。
步骤S102,基于身份验证信息向交易对象发送认证授权请求;认证授权请求用于请求交易对象授权解锁身份验证器中的交易对象的私钥。
本申请中,认证授权请求也就是用于请求交易对象授权身份验证器解锁访问私钥的请求,该认证授权请求发送至交易对象主要用于请求交易对象输入正确的参考解锁信息。
步骤S103,将交易对象基于认证授权请求所返回的第一授权解锁信息,与参考解锁信息进行匹配。
本申请中,为便于理解,对于交易对象基于认证授权请求所输入的实时解锁信息,可将其称之为第一授权解锁信息,在获取到交易对象输入的第一授权解锁信息之后,需要将其与参考解锁信息进行匹配。如若两者是相匹配的,那么则可以说明交易对象所输入的解锁信息是正确的预先注册的参考解锁信息,那么身份验证器则会成功获得授权,可以解锁访问本地存储的私钥;而如若两者是不匹配的,那么则可以说明交易对象所输入的解锁信息是错误的,输入错误的解锁信息的交易对象的身份可能并不是本人,那么身份验证器不会解锁访问本地保存的私钥。
也就是说,在交易对象输入的第一授权解锁信息与参考解锁信息是不匹配的时候,可以表征该交易对象的身份可能有误,也可能交易对象一时失误输错了解锁信息,那么针对这种情况,本申请可以设置一个关于解锁信息的输入频率的频率阈值(也就是交易对象的容错值,例如,频率阈值可以为3、4、5等等,这里将不对其进行一一举例说明),交易对象可以多次输入解锁信息以输入正确的参考解锁信息,但是一旦交易对象输入解锁信息的频率达到了频率阈值,但是仍未输入正确的参考解锁信息,那么即可认为该交易对象的身份是异常的,该交易对象的身份认证结果是认证未通过结果。
具体的,也就是说,在将交易对象基于认证授权请求所返回的第一授权解锁信息,与参考解锁信息进行匹配之后,若确定第一授权解锁信息与参考解锁信息不匹配,则可以统计交易对象针对交易请求的授权解锁频率;其中,授权解锁频率是指交易对象授权解锁身份验证器中的交易对象的私钥的频率;而若授权解锁频率小于频率阈值,则可以向交易对象发送重新授权请求;其中,重新授权请求用于请求交易对象重新授权解锁身份验证器中的交易对象的私钥;进一步地,可以将交易对象基于重新授权请求所返回的第二授权解锁信息,与参考解锁信息进行匹配;若第二授权解锁信息与参考解锁信息相匹配,则可以采用身份验证器中的交易对象的私钥,协同服务器对交易对象进行身份认证。
可以理解的是,若交易对象所输入的第一授权解锁信息与参考解锁信息是不匹配的,那么可以统计此时交易对象针对交易请求的授权解锁频率(其实也就是交易对象输入的解锁信息的频率,由于所输入的解锁信息是用于授权解锁身份验证器中的交易对象的私钥的,那么该频率也可以理解为交易对象授权解锁身份验证器中的交易对象的私钥的频率),若该授权解锁频率是小于频率阈值的,那么可以认为该交易对象还有输入解锁信息的机会,此时可以向交易对象重新发送一个授权请求(也就是重新发送认证授权请求,这里为便于区别,将重新发送的请求称为重新授权请求),交易对象可以基于该重新授权请求重新输入一个授权解锁信息(可称之为第二授权解锁信息),身份验证器可以再将该第二授权解锁信息与参考解锁信息进行匹配,若两者相匹配,则可以采用身份验证器中的私钥,协同服务器共同对交易对象进行身份认证。而若两者还是不匹配,那么身份验证器可以再次统计交易对象输入了解锁信息的频率,然后再次判断交易对象是否还具备解锁信息的输入机会,以此类推直至交易对象输入了与参考解锁信息相匹配的解锁信息,或者交易对象所输入的频率达到了频率阈值。
需要说明的是,以第一授权解锁信息所指示的上述授权解锁频率大于了频率阈值为例,假设上述授权解锁频率大于了频率阈值,那么可以认为该交易对象多次输入解锁信息仍未输入正确的参考解锁信息,那么此时可以认为交易对象可能不是本人,可以将该交易对象标记为异常对象,并在指定时间段(如24小时内)限制该交易对象的解锁权限(解锁权限是指授权解锁身份验证器中的交易对象的私钥的权限,通过权限限制,交易对象在一定时间段内无法再能够授权身份验证器解锁访问私钥)。
步骤S104,若第一授权解锁信息与参考解锁信息相匹配,则采用身份验证器中的交易对象的私钥,协同服务器对交易对象进行身份认证;服务器是采用交易对象的公钥对交易对象进行身份认证的,且在身份认证通过后服务器用于执行交易请求所指示的交易。
本申请中,若第一授权解锁信息是与参考解锁信息相匹配的,那么则可以采用身份验证器中的交易对象的私钥,协同服务器对交易对象进行身份认证。其具体实现方式可为:身份验证器可以采用身份验证器中的交易对象的私钥,对身份验证信息进行签名处理,由此可以得到身份验证信息的签名信息;进一步地,可以将身份验证信息的签名信息发送至服务器,由服务器采用交易对象的公钥,对身份验证信息的签名信息进行验签。应当理解,服务器的验签结果即可表征交易对象的身份认证结果,若验签通过,则交易对象的身份认证结果则可为认证通过结果,而若验签未通过,则交易对象的身份认证结果则可为认证未通过结果,即服务器在验签通过后可以将交易对象的身份认证结果确定为认证通过结果;认证通过结果用于指示交易对象身份认证通过,在身份认证通过后服务器可以执行交易请求所指示的交易。
为更好地理解本申请所提出的对交易对象进行的无密身份认证方案,请一并参见图4,图4是本申请实施例提供的一种系统逻辑交互示意图。如图4所示,该系统逻辑交互中至少可以涉及终端设备、身份验证器、服务器三个组件之间的交互。以下将对各个组件之间的逻辑交互进行阐述。
首先,服务器可以用于记录身份验证器为交易对象的账户所生成的公钥。交易对象在通过终端设备发起交易请求之后,服务器可以向身份验证器发送一个随机消息作为身份验证信息。身份验证器接收到身份验证信息之后,身份验证器可向终端设备返回一个认证授权请求,交易对象可以基于该认证授权请求,选择通过使用身份验证器上保存的私钥来进行身份认证,在用户选择通过私钥进行身份认证之后,交易对象需要输入访问身份验证器中的私钥的授权解锁信息,若交易对象输入了正确的解锁信息之后,身份验证器可以基于私钥对身份验证信息进行签名,然后服务器可以使用交易对象的账户所关联的公钥对该签名信息进行验签,在验签通过后即可认为对用户的身份认证成功,服务器可以执行交易请求所对应的交易。
需要说明的是,本申请中用于记录保存私钥的硬件设备,可以基于交易对象的终端设备的不同而不同,例如,终端设备若为类似于电脑端的设备,那么该硬件设备可以是指能够插入到电脑上的接口设备;而终端设备若为类似于手机端的设备,那么这里的硬件设备可以是指手机端所支持部署的设备(如NFC设备)。
在本申请实施例中,通过在区块链应用的身份认证场景中,引入身份验证器的方式,可以使得交易对象无需输入传统的如密码在内的身份信息,只需要输入用于授权解锁身份验证器中的私钥的授权解锁信息即可,后续由身份验证器与服务器进行交互,该授权解锁信息与交易对象的私钥由身份验证器本地保存,只有交易对象所知,永远不会离开本地设备,不会与服务器或其他任何对象共享,服务器仅保存交易对象的公钥,被泄露的可能性非常低。综上,本申请所提供的无密身份认证方案,可以使用公私钥体系完成身份认证,具备更高的安全性,从而可以提升区块链应用中虚拟资源的安全性。
进一步地,请参见图5,图5是本申请实施例提供的一种信息注册的流程示意图,该流程可以对应于上述图3所对应实施例中关于注册参考解锁信息、交易对象的公私钥的具体流程。如图5所示,该流程至少可以包括以下步骤S501-步骤S505:
步骤S501,接收交易对象发送的关于身份验证器的身份认证注册请求。
具体的,交易对象登录区块链应用之后,若交易对象在区块链应用中发起一个交易,区块链应用可以提示交易对象选择服务器(区块链应用对应的服务器)所支持的身份验证器来进行身份认证。若交易对象选择通过身份验证器来进行身份认证,那么交易对象需要先进行身份认证的相关注册,例如,交易对象需要先注册一个用于对私钥进行解锁的解锁信息。那么交易对象可以发送关于身份验证器的身份认证注册请求,该请求可以用于请求注册解锁信息。
步骤S502,通过身份认证注册请求获取交易对象的参考解锁信息。
具体的,身份验证器可以通过该身份认证注册请求,获取到交易对象所输入的解锁信息,该解锁信息需要注册到身份验证器中,用于后续对交易对象进行身份认证,该解锁信息可以理解为一个参考解锁信息,后续交易对象所输入的解锁信息需要与该参考解锁信息相匹配。
对于获取交易对象的参考解锁信息的具体方式,可为:通过身份认证注册请求可以向交易对象推送解锁信息输入界面(具体可以由终端设备显示一个解锁信息输入界面);其中,解锁信息输入界面用于指示交易对象在解锁信息输入界面中输入关于身份验证器的解锁信息;而交易对象在该解锁信息输入界面中输入关于身份验证器的解锁信息之后,可以响应交易对象对解锁信息输入界面的信息输入操作,获取到交易对象所输入的解锁信息;进一步地,即可将获取到的交易对象所输入的解锁信息,确定为交易对象的参考解锁信息。其中,参考解锁信息可以是指交易对象所录入的关键部位的特征,也可以是指所输入的字符序列等等,这里将不再对交易对象所输入的参考解锁信息的内容进行限制。
步骤S503,对交易对象的参考解锁信息进行合法性验证,得到交易对象的参考解锁信息的合法性验证结果。
具体的,对于交易对象所输入的参考解锁信息,需要对其进行合法性验证,在确定参考解锁信息具备合法性时,才可将其进行注册存储。其中,基于上述可知,本申请中的参考解锁信息可以是指多种形式的信息,例如,可以是指关键部位特征、可以是指字符序列等等,而不同形式的参考解锁信息,本申请可以配置不同的合法性验证方式。
以交易对象的参考解锁信息为交易对象的关键部位特征(关键部位特征是指交易对象的关键部位的特征)为例,对于对交易对象的参考解锁信息进行合法性验证,得到交易对象的参考解锁信息的合法性验证结果的具体实现方式,可为:可以获取关键部位的模板部位动作;进一步地,可以获取交易对象的关键部位特征所指示的实时部位动作;可以将模板部位动作与实时部位动作进行匹配;若确定模板部位动作与实时部位动作之间的匹配结果为匹配成功结果,则可以确定交易对象的参考解锁信息的合法性验证结果为验证通过结果;而若确定模板部位动作与实时部位动作之间的匹配结果为匹配不成功结果,则可以确定交易对象的参考解锁信息的合法性验证结果为验证不通过结果。
可以理解的是,这里的模板部位动作可以是指关键部位的标准动作,该标准动作具体可以认为设置规定,例如,关键部位为手部时,该模板部位动作可以是指手掌伸开拇指伸直的动作,关键部位为眼部时,该模板部位动作可以是指眼睛睁开的动作。模板部位动作可以基于关键部位的不同而进行不同的设定配置,而交易对象在录入自己的关键部位特征时,交易对象的关键部位的实时部位动作(也就是交易对象的关键部位在信息录入时所处的动作)应该与模板部位动作相符合(即相匹配),若符合模板部位动作,则可以认为交易对象的关键部位特征的合法性验证结果为验证通过结果(即交易对象的参考解锁信息的合法性验证结果为验证通过结果);否则合法性验证结果为验证不同过结果。
为便于理解,以交易对象的参考解锁信息是指交易对象输入的字符序列(字符序列由N个字符所组成,N为正整数)为例,对于对交易对象的参考解锁信息进行合法性验证,得到交易对象的参考解锁信息的合法性验证结果的具体方式可为:可以将字符序列输入至字符分析模型;通过字符分析模型可以对字符序列进行解密难度分析处理,由此可以得到字符序列所指示的字符解密难度;按照字符解密难度所属的难度等级,即可确定交易对象的参考解锁信息的合法性验证结果。
其中,这里的字符分析模型可以是指任一人工智能(Artificial Intelligence,AI)模型,该模型需要具备难度分析能力,而为提升字符分析模型的输出结果的准确性,本申请可以采用机器学习的方式,对该字符分析模型进行预先训练,使其字符分析模型的模型参数是较优参数,那么通过该字符分析模型即可准确分析每一个字符序列的字符解密难度。对于通过字符分析模型可以对字符序列进行解密难度分析处理的计算逻辑,可以包含多种,为便于理解,以下将举例进行描述。即,对于通过字符分析模型对字符序列进行解密难度分析处理,得到字符序列所指示的字符解密难度的一种可行实现方式可为:通过字符分析模型,可以统计字符序列所包含的字符类型的数量;若字符序列中的字符类型的数量大于数量阈值,则可以对字符序列进行连续性分析,由此可以得到字符序列所指示的字符解密难度;而若字符序列中的字符类型的数量小于数量阈值,则可以将第一区间难度确定为字符序列所指示的字符解密难度。
其中,对于字符序列中的字符类型包括第一字符类型与第二字符类型为例,对于对字符序列进行连续性分析,得到字符序列所指示的字符解密难度的实现方式,可为:可以将字符序列中的属于第一字符类型的W个字符均确定为第一字符,并将字符序列中的属于第二字符类型的Q个字符均确定为第二字符;W、Q均为正整数;进一步地,可以对W个第一字符进行连续性分析,由此可以得到W个第一字符所指示的第一字符连续属性;也可以对Q个第二字符进行连续性分析,由此可以得到Q个第二字符所指示的第二字符连续属性;若第一字符连续属性与第二字符连续属性均为不存在连续属性,则可以将第二区间难度确定为字符序列所指示的字符解密难度;其中,第二区间难度所属的难度等级高于第一区间难度所属的难度等级;而若第一字符连续属性或第二字符连续属性为存在连续属性,则可以将第三区间难度确定为字符序列所指示的字符解密难度;其中,第三区间难度所属的难度等级高于第一区间难度所属的难度等级,且第三区间难度所属的难度等级低于第二区间难度所属的难度等级。
可以理解的是,本申请可以为字符序列配置设定不同的区间难度,例如,第一区间难度可以是指难度值低于30的难度,第三区间难度可以是指难度值处于30-70的难度,第二区间难度可以是指难度值高于70的难度。其中,难度值越高,则难度等级越高,那么通过各个区间难度所指示的难度值区间,即可反映第一区间难度所指示的难度等级,是低于第三区间难度所指示的难度等级的,且第三区间难度所指示的难度等级,低于第二区间难度所指示的难度等级。而本申请可以通过分析字符序列中所包含的字符类型以及每种字符类型下的字符连续性,来分析得到字符序列的字符解密难度。需要说明的是,字符解密难度是指通过解密以界面得到该字符序列的难度,那么该字符序列的区间难度,即可反映出该字符序列的字符解密难度,假设字符序列的难度为第一区间难度,那么解密该字符序列则较为容易,所以该字符序列的字符解密难度也较低,基于此,本申请中的各个区间难度,可以用于表征字符序列所指示的字符解密难度。
应当理解,这里的字符类型可以包括但不限于是数字类型、大写字母类型、小写字母类型、符号类型、中文类型等等,若字符序列中的字符类型的数量,大于了数量阈值(数量阈值可人为设定,如为3),那么可以表明该字符序列已经具备一定解密难度,可以进一步基于字符是否连续来进一步确定字符序列的解密难度;而若字符序列中的字符类型的数量,是小于数量阈值的,那么可以表明该字符序列所包含的字符类型较少,恶意攻击者解密得到该字符序列的难度较低,此时可以直接将第一区间难度确定为字符序列所指示的字符解密难度。
其中,字符序列中的字符类型的数量大于数量阈值时,可以分析每一种字符类型下的字符是否具备连续性(如字符是否是按照从大到小的递减顺序排序的;或字符是否是按照从小到大的递增顺序进行排序的),若每种字符类型下的字符,均不具备连续性(即字符连续属性均为不存在连续属性),那么即可说明该字符序列包含有较多字符类型的字符,且每种字符类型下的字符均是不连续的无规律的,恶意攻击者解密得到该字符序列的难度非常高,所以可以将第二区间难度确定为字符序列所指示的字符解密难度;而若字符序列中,存在有某种字符类型下的字符是具备连续性的,那么可以说明该字符序列包含有较多字符类型的字符,但某种或多种字符类型下的字符,是连续的具备规律的,恶意攻击者可以通过字符自带的连续性规律来破解得到字符序列,解密得到该字符序列的难度不是特征高。
为便于理解,以字符序列为“Abcd4467”为例,该字符序列中所包含的字符类型的数量为3(包含有大写字母类型、小写字母类型以及数字类型),大于了数量阈值3,那么可以进一步对其进行连续性分析。在大写字母类型下,仅包含有“A”一个字母,不存在连续,其字符连续属性为不存在连续属性;在小写字母类型下,字符“bcd”存在连续递增的顺序,所以其字符连续属性为存在连续属性;在数字类型下,字符“4467”不存在递增性地连续,其字符连续属性为不存在连续属性。基于此,可以判定该字符序列的字符解密难度为第三区间难度,第三区间难度所指示的难度等级为中等,处于第一区间难度所指示的难度等级,与第二区间难度所指示的难度等级之间。
进一步地,在确定出字符序列的字符解密难度之后,即可按照字符解密难度所属的难度等级,确定交易对象的参考解锁信息的合法性验证结果,其具体实现方式可为:可以将字符解密难度所属的难度等级与等级阈值进行比较;若确定字符解密难度所属的难度等级等于或高于等级阈值,则可以确定交易对象的参考解锁信息的合法性验证结果为验证通过结果;而若确定字符解密难度所属的难度等级低于等级阈值,则可以确定交易对象的参考解锁信息的合法性验证结果为验证不通过结果。
可以理解的是,基于上述可知,每个区间难度可以分别指示不同的难度等级,例如,第一区间难度所指示的难度等级可为低等级,第三区间难度所指示的难度等级可为中等级,第二区间难度所指示的难度等级可为高等级。而这里的等级阈值可以基于人工经验所配置设定,例如,该等级阈值可以为中等级,那么交易对象所输入的字符序列的解密难度的难度等级,应该至少为中等级,才可以通过合法性验证。
需要说明的是,本申请所描述的分析字符序列的字符解密难度的方式,仅为一种可行的方式,对于分析字符序列的字符解密难度的逻辑,当然并不限制于此。此外,对于参考解锁信息进行合法性验证的具体实现方式,本申请也不进行限制。
步骤S504,若确定合法性验证结果指示交易对象的参考解锁信息具备合法性,则在身份验证器中生成密钥对;密钥对包括交易对象的公钥与交易对象的私钥;交易对象的公钥与交易对象的私钥均与交易对象在区块链应用中的账户相关联。
具体的,在上述步骤得到参考解锁信息的合法性验证结果之后,若为验证通过结果,即可指示交易对象的参考解锁信息具备合法性;而若为验证不通过结果,即可指示交易对象的参考解锁信息不具备合法性。而在确定合法性验证结果指示交易对象的参考解锁信息具备合法性时,身份验证器即可为交易对象在区块链应用中的账户生成一个包含公钥与私钥的密钥对。
步骤S505,将交易对象的参考解锁信息、交易对象的公钥与交易对象的私钥均进行注册存储处理。
具体的,对于私钥可以注册记录于身份验证器中,而对于交易对象的公钥可以发送至服务器进行存储。对于将交易对象的参考解锁信息、交易对象的公钥与交易对象的私钥均进行注册存储处理的具体实现方式可为:可以将交易对象的公钥发送至服务器;服务器可以将该交易对象在区块链应用中的账户,与该公钥进行关联存储,在存储成功或存储失败后,可以向身份验证器返回一个存储通知(存储成功则可向身份验证器返回存储成功通知,存储失败则可向身份验证器返回存储失败通知),而身份验证器接收到服务器返回的关于交易对象的公钥的存储通知之后;若确定存储通知为存储成功通知,则可以将交易对象的参考解锁信息,与交易对象的私钥关联注册至身份验证器所支持的硬件设备中;其中,存储成功通知用于指示服务器已成功将交易对象的公钥与交易对象的账户关联存储。
在本申请实施例中,通过在区块链应用的身份认证场景中,引入身份验证器的方式,可以使得交易对象无需输入传统的如密码在内的身份信息,只需要输入用于授权解锁身份验证器中的私钥的授权解锁信息即可,后续由身份验证器与服务器进行交互,该授权解锁信息与交易对象的私钥由身份验证器本地保存,只有交易对象所知,永远不会离开本地设备,不会与服务器或其他任何对象共享,服务器仅保存交易对象的公钥,被泄露的可能性非常低。此外,本申请对于交易对象所输入的解锁信息,会按照解锁信息的不同来进行不同的合法性验证,由此可以提升解锁信息的安全性,可以进一步降低解锁信息被泄露的可能,从而提升解锁信息的安全性和私钥的安全性,进而可以通过私钥很好地提升区块链应用中虚拟资源的安全性。
进一步地,请参见图6,图6是本申请实施例提供的一种基于区块链的数据处理装置的结构示意图。该基于区块链的数据处理装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该基于区块链的数据处理装置为一个应用软件;该基于区块链的数据处理装置可以用于执行图3所示的方法。如图6所示,该基于区块链的数据处理装置1可以包括:信息接收模块11、第一请求发送模块12、第一信息匹配模块13以及身份认证模块14。
信息接收模块11,用于接收关于交易对象的身份验证信息;身份验证信息由服务器响应于交易对象在区块链应用中发起的交易请求而发送的;身份验证信息用于指示对交易对象进行身份认证;交易对象的私钥锁定在身份验证器中,交易对象的公钥存储在服务器中;身份验证器中预注册有交易对象的参考解锁信息;
第一请求发送模块12,用于基于身份验证信息向交易对象发送认证授权请求;认证授权请求用于请求交易对象授权解锁身份验证器中的交易对象的私钥;
第一信息匹配模块13,用于将交易对象基于认证授权请求所返回的第一授权解锁信息,与参考解锁信息进行匹配;
身份认证模块14,用于若第一授权解锁信息与参考解锁信息相匹配,则采用身份验证器中的交易对象的私钥,协同服务器对交易对象进行身份认证;服务器是采用交易对象的公钥对交易对象进行身份认证的,且在身份认证通过后服务器用于执行交易请求所指示的交易。
其中,信息接收模块11、第一请求发送模块12、第一信息匹配模块13以及身份认证模块14的具体实现方式,可以参见上述图3所对应实施例中步骤S101-步骤S104的描述,这里将不再进行赘述。
在一个实施例中,在接收关于交易对象的身份验证信息之前,基于区块链的数据处理装置1还包括:注册请求接收模块15、信息获取模块16、验证模块17、密钥生成模块18以及信息注册模块19。
注册请求接收模块15,用于接收交易对象发送的关于身份验证器的身份认证注册请求;
信息获取模块16,用于通过身份认证注册请求获取交易对象的参考解锁信息;
验证模块17,用于对交易对象的参考解锁信息进行合法性验证,得到交易对象的参考解锁信息的合法性验证结果;
密钥生成模块18,用于若确定合法性验证结果指示交易对象的参考解锁信息具备合法性,则在身份验证器中生成密钥对;密钥对包括交易对象的公钥与交易对象的私钥;交易对象的公钥与交易对象的私钥均与交易对象在区块链应用中的账户相关联;
信息注册模块19,用于将交易对象的参考解锁信息、交易对象的公钥与交易对象的私钥均进行注册存储处理。
其中,注册请求接收模块15、信息获取模块16、验证模块17、密钥生成模块18以及信息注册模块19的具体实现方式,可以参见上述图5所对应实施例中步骤S501-步骤S505的描述,这里将不再进行赘述。
在一个实施例中,信息获取模块16通过身份认证注册请求获取交易对象的参考解锁信息的具体实现方式,包括:
通过身份认证注册请求向交易对象推送解锁信息输入界面;解锁信息输入界面用于指示交易对象在解锁信息输入界面中输入关于身份验证器的解锁信息;
响应交易对象对解锁信息输入界面的信息输入操作,获取交易对象所输入的解锁信息;
将获取到的交易对象所输入的解锁信息,确定为交易对象的参考解锁信息。
在一个实施例中,交易对象的参考解锁信息包括交易对象的关键部位特征;关键部位特征是指交易对象的关键部位的特征;
验证模块17对交易对象的参考解锁信息进行合法性验证,得到交易对象的参考解锁信息的合法性验证结果的具体方式,包括:
获取关键部位的模板部位动作;
获取交易对象的关键部位特征所指示的实时部位动作;
将模板部位动作与实时部位动作进行匹配;
若确定模板部位动作与实时部位动作之间的匹配结果为匹配成功结果,则确定交易对象的参考解锁信息的合法性验证结果为验证通过结果;
若确定模板部位动作与实时部位动作之间的匹配结果为匹配不成功结果,则确定交易对象的参考解锁信息的合法性验证结果为验证不通过结果。
在一个实施例中,交易对象的参考解锁信息包括交易对象输入的字符序列;
验证模块17对交易对象的参考解锁信息进行合法性验证,得到交易对象的参考解锁信息的合法性验证结果的具体方式,包括:
将字符序列输入至字符分析模型;
通过字符分析模型对字符序列进行解密难度分析处理,得到字符序列所指示的字符解密难度;
按照字符解密难度所属的难度等级,确定交易对象的参考解锁信息的合法性验证结果。
在一个实施例中,验证模块17通过字符分析模型对字符序列进行解密难度分析处理,得到字符序列所指示的字符解密难度的具体方式,包括:
通过字符分析模型,统计字符序列所包含的字符类型的数量;
若字符序列中的字符类型的数量大于数量阈值,则对字符序列进行连续性分析,得到字符序列所指示的字符解密难度;
若字符序列中的字符类型的数量小于数量阈值,则将第一区间难度确定为字符序列所指示的字符解密难度。
在一个实施例中,字符序列中的字符类型包括第一字符类型与第二字符类型;
验证模块17对字符序列进行连续性分析,得到字符序列所指示的字符解密难度的具体方式,包括:
将字符序列中的属于第一字符类型的W个字符均确定为第一字符,将字符序列中的属于第二字符类型的Q个字符均确定为第二字符;W、Q均为正整数;
对W个第一字符进行连续性分析,得到W个第一字符所指示的第一字符连续属性;
对Q个第二字符进行连续性分析,得到Q个第二字符所指示的第二字符连续属性;
若第一字符连续属性与第二字符连续属性均为不存在连续属性,则将第二区间难度确定为字符序列所指示的字符解密难度;第二区间难度所属的难度等级高于第一区间难度所属的难度等级;
若第一字符连续属性或第二字符连续属性为存在连续属性,则将第三区间难度确定为字符序列所指示的字符解密难度;第三区间难度所属的难度等级高于第一区间难度所属的难度等级,且第三区间难度所属的难度等级低于第二区间难度所属的难度等级。
在一个实施例中,验证模块17按照字符解密难度所属的难度等级,确定交易对象的参考解锁信息的合法性验证结果的具体方式,包括:
将字符解密难度所属的难度等级与等级阈值进行比较;
若确定字符解密难度所属的难度等级等于或高于等级阈值,则确定交易对象的参考解锁信息的合法性验证结果为验证通过结果;
若确定字符解密难度所属的难度等级低于等级阈值,则确定交易对象的参考解锁信息的合法性验证结果为验证不通过结果。
在一个实施例中,信息注册模块19将交易对象的参考解锁信息、交易对象的公钥与交易对象的私钥均进行注册存储处理的具体方式,包括:
将交易对象的公钥发送至服务器;
接收服务器返回的关于交易对象的公钥的存储通知;
若存储通知为存储成功通知,则将交易对象的参考解锁信息,与交易对象的私钥关联注册至身份验证器所支持的硬件设备中;存储成功通知用于指示服务器已成功将交易对象的公钥与交易对象的账户关联存储。
在一个实施例中,身份认证模块14采用身份验证器中的交易对象的私钥,协同服务器对交易对象进行身份认证的具体方式,包括:
采用身份验证器中的交易对象的私钥,对身份验证信息进行签名处理,得到身份验证信息的签名信息;
将身份验证信息的签名信息发送至服务器,由服务器采用交易对象的公钥,对身份验证信息的签名信息进行验签,并在验签通过后将交易对象的身份认证结果确定为认证通过结果;认证通过结果用于指示交易对象身份认证通过。
在一个实施例中,在第一信息匹配模块13将交易对象基于认证授权请求所返回的第一授权解锁信息,与参考解锁信息进行匹配之后,基于区块链的数据处理装置1还包括:频率统计模块20、第二请求发送模块21、第二信息匹配模块22以及认证模块23。
频率统计模块20,用于若第一授权解锁信息与参考解锁信息不匹配,则统计交易对象针对交易请求的授权解锁频率;授权解锁频率是指交易对象授权解锁身份验证器中的交易对象的私钥的频率;
第二请求发送模块21,用于若授权解锁频率小于频率阈值,则向交易对象发送重新授权请求;重新授权请求用于请求交易对象重新授权解锁身份验证器中的交易对象的私钥;
第二信息匹配模块22,将交易对象基于重新授权请求所返回的第二授权解锁信息,与参考解锁信息进行匹配;
认证模块23,用于若第二授权解锁信息与参考解锁信息相匹配,则采用身份验证器中的交易对象的私钥,协同服务器对交易对象进行身份认证。
其中,频率统计模块20、第二请求发送模块21、第二信息匹配模块22以及认证模块23的具体实现方式,可以参见上述图3所对应实施例中步骤S103中的相关描述,这里将不再进行赘述。
在一个实施例中,在频率统计模块20统计交易对象针对交易请求的授权解锁频率之后,基于区块链的数据处理装置1还包括:权限限制模块24。
权限限制模块24,用于若授权解锁频率大于频率阈值,则在指定时间段内限制交易对象的解锁权限;解锁权限是指授权解锁身份验证器中的交易对象的私钥的权限。
其中,权限限制模块24的具体实现方式,可以参见上述图3所对应实施例中步骤S103中的相关描述,这里将不再进行赘述。
在本申请实施例中,通过在区块链应用的身份认证场景中,引入身份验证器的方式,可以使得交易对象无需输入传统的如密码在内的身份信息,只需要输入用于授权解锁身份验证器中的私钥的授权解锁信息即可,后续由身份验证器与服务器进行交互,该授权解锁信息与交易对象的私钥由身份验证器本地保存,只有交易对象所知,永远不会离开本地设备,不会与服务器或其他任何对象共享,服务器仅保存交易对象的公钥,被泄露的可能性非常低。综上,本申请所提供的无密身份认证方案,可以使用公私钥体系完成身份认证,具备更高的安全性,从而可以提升区块链应用中虚拟资源的安全性。
进一步地,请参见图7,图7是本申请实施例提供的一种计算机设备的结构示意图。如图7所示,上述计算机设备8000可以包括:处理器8001,网络接口8004和存储器8005,此外,上述计算机设备8000还包括:用户接口8003,和至少一个通信总线8002。其中,通信总线8002用于实现这些组件之间的连接通信。其中,用户接口8003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口8003还可以包括标准的有线接口、无线接口。网络接口8004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器8005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器8005可选的还可以是至少一个位于远离前述处理器8001的存储装置。如图7所示,作为一种计算机可读存储介质的存储器8005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在图7所示的计算机设备8000中,网络接口8004可提供网络通讯功能;而用户接口8003主要用于为用户提供输入的接口;而处理器8001可以用于调用存储器8005中存储的设备控制应用程序,以实现:
接收关于交易对象的身份验证信息;身份验证信息由服务器响应于交易对象在区块链应用中发起的交易请求而发送的;身份验证信息用于指示对交易对象进行身份认证;交易对象的私钥锁定在身份验证器中,交易对象的公钥存储在服务器中;身份验证器中预注册有交易对象的参考解锁信息;
基于身份验证信息向交易对象发送认证授权请求;认证授权请求用于请求交易对象授权解锁身份验证器中的交易对象的私钥;
将交易对象基于认证授权请求所返回的第一授权解锁信息,与参考解锁信息进行匹配;
若第一授权解锁信息与参考解锁信息相匹配,则采用身份验证器中的交易对象的私钥,协同服务器对交易对象进行身份认证;服务器是采用交易对象的公钥对交易对象进行身份认证的,且在身份认证通过后服务器用于执行交易请求所指示的交易。
应当理解,本申请实施例中所描述的计算机设备8000可执行前文图3到图5所对应实施例中对该基于区块链的数据处理方法的描述,也可执行前文图6所对应实施例中对该基于区块链的数据处理装置1的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且上述计算机可读存储介质中存储有前文提及的数据处理的计算机设备8000所执行的计算机程序,且上述计算机程序包括程序指令,当上述处理器执行上述程序指令时,能够执行前文图3到图5所对应实施例中对上述基于区块链的数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。
上述计算机可读存储介质可以是前述任一实施例提供的基于区块链的数据处理装置或者上述计算机设备的内部存储单元,例如计算机设备的硬盘或内存。该计算机可读存储介质也可以是该计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smart media card,SMC),安全数字(secure digital,SD)卡,闪存卡(flash card)等。进一步地,该计算机可读存储介质还可以既包括该计算机设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该计算机设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本申请的一个方面,提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序,处理器执行该计算机程序,使得该计算机设备执行本申请实施例中一方面提供的方法。
本申请实施例的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或设备没有限定于已列出的步骤或模块,而是可选地还包括没有列出的步骤或模块,或可选地还包括对于这些过程、方法、装置、产品或设备固有的其他步骤单元。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例提供的方法及相关装置是参照本申请实施例提供的方法流程图和/或结构示意图来描述的,具体可由计算机程序指令实现方法流程图和/或结构示意图的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。这些计算机程序指令可提供到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或结构示意一个方框或多个方框中指定的功能的步骤。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。

Claims (16)

1.一种基于区块链的数据处理方法,其特征在于,包括:
接收关于交易对象的身份验证信息;所述身份验证信息由服务器响应于所述交易对象在区块链应用中发起的交易请求而发送的;所述身份验证信息用于指示对所述交易对象进行身份认证;所述交易对象的私钥锁定在身份验证器中,所述交易对象的公钥存储在服务器中;所述身份验证器中预注册有所述交易对象的参考解锁信息;
基于所述身份验证信息向所述交易对象发送认证授权请求;所述认证授权请求用于请求所述交易对象授权解锁所述身份验证器中的所述交易对象的私钥;
将所述交易对象基于所述认证授权请求所返回的第一授权解锁信息,与所述参考解锁信息进行匹配;
若所述第一授权解锁信息与所述参考解锁信息相匹配,则采用所述身份验证器中的所述交易对象的私钥,协同所述服务器对所述交易对象进行身份认证;所述服务器是采用所述交易对象的公钥对所述交易对象进行身份认证的,且在身份认证通过后所述服务器用于执行所述交易请求所指示的交易。
2.根据权利要求1所述的方法,其特征在于,在接收关于交易对象的身份验证信息之前,所述方法还包括:
接收所述交易对象发送的关于身份验证器的身份认证注册请求;
通过所述身份认证注册请求获取所述交易对象的参考解锁信息;
对所述交易对象的参考解锁信息进行合法性验证,得到所述交易对象的参考解锁信息的合法性验证结果;
若确定所述合法性验证结果指示所述交易对象的参考解锁信息具备合法性,则在所述身份验证器中生成密钥对;所述密钥对包括所述交易对象的公钥与所述交易对象的私钥;所述交易对象的公钥与所述交易对象的私钥均与所述交易对象在区块链应用中的账户相关联;
将所述交易对象的参考解锁信息、所述交易对象的公钥与所述交易对象的私钥均进行注册存储处理。
3.根据权利要求2所述的方法,其特征在于,所述通过所述身份认证注册请求获取所述交易对象的参考解锁信息,包括;
通过所述身份认证注册请求向所述交易对象推送解锁信息输入界面;所述解锁信息输入界面用于指示所述交易对象在所述解锁信息输入界面中输入关于所述身份验证器的解锁信息;
响应所述交易对象对所述解锁信息输入界面的信息输入操作,获取所述交易对象所输入的解锁信息;
将获取到的所述交易对象所输入的解锁信息,确定为所述交易对象的参考解锁信息。
4.根据权利要求2所述的方法,其特征在于,所述交易对象的参考解锁信息包括所述交易对象的关键部位特征;所述关键部位特征是指所述交易对象的关键部位的特征;
所述对所述交易对象的参考解锁信息进行合法性验证,得到所述交易对象的参考解锁信息的合法性验证结果,包括:
获取所述关键部位的模板部位动作;
获取所述交易对象的关键部位特征所指示的实时部位动作;
将所述模板部位动作与所述实时部位动作进行匹配;
若确定所述模板部位动作与所述实时部位动作之间的匹配结果为匹配成功结果,则确定交易对象的参考解锁信息的合法性验证结果为验证通过结果;
若确定所述模板部位动作与所述实时部位动作之间的匹配结果为匹配不成功结果,则确定交易对象的参考解锁信息的合法性验证结果为验证不通过结果。
5.根据权利要求2所述的方法,其特征在于,所述交易对象的参考解锁信息包括所述交易对象输入的字符序列;
所述对所述交易对象的参考解锁信息进行合法性验证,得到所述交易对象的参考解锁信息的合法性验证结果,包括:
将所述字符序列输入至字符分析模型;
通过所述字符分析模型对所述字符序列进行解密难度分析处理,得到所述字符序列所指示的字符解密难度;
按照所述字符解密难度所属的难度等级,确定所述交易对象的参考解锁信息的合法性验证结果。
6.根据权利要求5所述的方法,其特征在于,所述通过所述字符分析模型对所述字符序列进行解密难度分析处理,得到所述字符序列所指示的字符解密难度,包括:
通过所述字符分析模型,统计所述字符序列所包含的字符类型的数量;
若所述字符序列中的字符类型的数量大于数量阈值,则对所述字符序列进行连续性分析,得到所述字符序列所指示的字符解密难度;
若所述字符序列中的字符类型的数量小于所述数量阈值,则将第一区间难度确定为所述字符序列所指示的字符解密难度。
7.根据权利要求6所述的方法,其特征在于,所述字符序列中的字符类型包括第一字符类型与第二字符类型;
所述对所述字符序列进行连续性分析,得到所述字符序列所指示的字符解密难度,包括:
将所述字符序列中的属于所述第一字符类型的W个字符均确定为第一字符,将所述字符序列中的属于所述第二字符类型的Q个字符均确定为第二字符;W、Q均为正整数;
对W个第一字符进行连续性分析,得到所述W个第一字符所指示的第一字符连续属性;
对Q个第二字符进行连续性分析,得到所述Q个第二字符所指示的第二字符连续属性;
若所述第一字符连续属性与所述第二字符连续属性均为不存在连续属性,则将第二区间难度确定为所述字符序列所指示的字符解密难度;所述第二区间难度所属的难度等级高于所述第一区间难度所属的难度等级;
若所述第一字符连续属性或所述第二字符连续属性为存在连续属性,则将第三区间难度确定为所述字符序列所指示的字符解密难度;所述第三区间难度所属的难度等级高于所述第一区间难度所属的难度等级,且所述第三区间难度所属的难度等级低于所述第二区间难度所属的难度等级。
8.根据权利要求5所述的方法,其特征在于,所述按照所述字符解密难度所属的难度等级,确定所述交易对象的参考解锁信息的合法性验证结果,包括:
将所述字符解密难度所属的难度等级与等级阈值进行比较;
若确定所述字符解密难度所属的难度等级等于或高于等级阈值,则确定所述交易对象的参考解锁信息的合法性验证结果为验证通过结果;
若确定所述字符解密难度所属的难度等级低于所述等级阈值,则确定所述交易对象的参考解锁信息的合法性验证结果为验证不通过结果。
9.根据权利要求2所述的方法,其特征在于,所述将所述交易对象的参考解锁信息、所述交易对象的公钥与所述交易对象的私钥均进行注册存储处理,包括:
将所述交易对象的公钥发送至服务器;
接收所述服务器返回的关于所述交易对象的公钥的存储通知;
若所述存储通知为存储成功通知,则将所述交易对象的参考解锁信息,与所述交易对象的私钥关联注册至所述身份验证器所支持的硬件设备中;所述存储成功通知用于指示所述服务器已成功将所述交易对象的公钥与所述交易对象的账户关联存储。
10.根据权利要求1所述的方法,其特征在于,所述采用所述身份验证器中的所述交易对象的私钥,协同所述服务器对所述交易对象进行身份认证,包括:
采用所述身份验证器中的所述交易对象的私钥,对所述身份验证信息进行签名处理,得到所述身份验证信息的签名信息;
将所述身份验证信息的签名信息发送至所述服务器,由所述服务器采用所述交易对象的公钥,对所述身份验证信息的签名信息进行验签,并在验签通过后将所述交易对象的身份认证结果确定为认证通过结果;所述认证通过结果用于指示所述交易对象身份认证通过。
11.根据权利要求1所述的方法,其特征在于,在将所述交易对象基于所述认证授权请求所返回的第一授权解锁信息,与所述参考解锁信息进行匹配之后,所述方法还包括:
若所述第一授权解锁信息与所述参考解锁信息不匹配,则统计所述交易对象针对所述交易请求的授权解锁频率;所述授权解锁频率是指所述交易对象授权解锁所述身份验证器中的所述交易对象的私钥的频率;
若所述授权解锁频率小于频率阈值,则向所述交易对象发送重新授权请求;所述重新授权请求用于请求所述交易对象重新授权解锁所述身份验证器中的所述交易对象的私钥;
将所述交易对象基于所述重新授权请求所返回的第二授权解锁信息,与所述参考解锁信息进行匹配;
若所述第二授权解锁信息与所述参考解锁信息相匹配,则采用所述身份验证器中的所述交易对象的私钥,协同所述服务器对所述交易对象进行身份认证。
12.根据权利要求11所述的方法,其特征在于,在统计所述交易对象针对所述交易请求的授权解锁频率之后,所述方法还包括:
若所述授权解锁频率大于频率阈值,则在指定时间段内限制所述交易对象的解锁权限;所述解锁权限是指授权解锁所述身份验证器中的所述交易对象的私钥的权限。
13.一种基于区块链的数据处理装置,其特征在于,所述包括:
信息接收模块,用于接收关于交易对象的身份验证信息;所述身份验证信息由服务器响应于所述交易对象在区块链应用中发起的交易请求而发送的;所述身份验证信息用于指示对所述交易对象进行身份认证;所述交易对象的私钥锁定在身份验证器中,所述交易对象的公钥存储在服务器中;所述身份验证器中预注册有所述交易对象的参考解锁信息;
第一请求发送模块,用于基于所述身份验证信息向所述交易对象发送认证授权请求;所述认证授权请求用于请求所述交易对象授权解锁所述身份验证器中的所述交易对象的私钥;
第一信息匹配模块,用于将所述交易对象基于所述认证授权请求所返回的第一授权解锁信息,与所述参考解锁信息进行匹配;
身份认证模块,用于若所述第一授权解锁信息与所述参考解锁信息相匹配,则采用所述身份验证器中的所述交易对象的私钥,协同所述服务器对所述交易对象进行身份认证;所述服务器是采用所述交易对象的公钥对所述交易对象进行身份认证的,且在身份认证通过后所述服务器用于执行所述交易请求所指示的交易。
14.一种计算机设备,其特征在于,包括:处理器、存储器以及网络接口;
所述处理器与所述存储器、所述网络接口相连,其中,所述网络接口用于提供网络通信功能,所述存储器用于存储计算机程序,所述处理器用于调用所述计算机程序,以使所述计算机设备执行权利要求1-12任一项所述的方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序适于由处理器加载并执行权利要求1-12任一项所述的方法。
16.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序存储在计算机可读存储介质中,所述计算机程序适于由处理器读取并执行,以使得具有所述处理器的计算机设备执行权利要求1-12任一项所述的方法。
CN202311461397.XA 2023-11-03 2023-11-03 基于区块链的数据处理方法、装置、设备及可读存储介质 Pending CN117454342A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311461397.XA CN117454342A (zh) 2023-11-03 2023-11-03 基于区块链的数据处理方法、装置、设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311461397.XA CN117454342A (zh) 2023-11-03 2023-11-03 基于区块链的数据处理方法、装置、设备及可读存储介质

Publications (1)

Publication Number Publication Date
CN117454342A true CN117454342A (zh) 2024-01-26

Family

ID=89596291

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311461397.XA Pending CN117454342A (zh) 2023-11-03 2023-11-03 基于区块链的数据处理方法、装置、设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN117454342A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118349579A (zh) * 2024-06-18 2024-07-16 杭州宇信数字科技有限公司 一种数据处理方法和数据处理装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118349579A (zh) * 2024-06-18 2024-07-16 杭州宇信数字科技有限公司 一种数据处理方法和数据处理装置

Similar Documents

Publication Publication Date Title
CN108064440B (zh) 基于区块链的fido认证方法、装置及系统
EP3312750B1 (en) Information processing device, information processing system, and information processing method
US8807426B1 (en) Mobile computing device authentication using scannable images
WO2017197974A1 (zh) 一种基于生物特征的安全认证方法、装置及电子设备
CN101897165B (zh) 数据处理系统中验证用户的方法
US9055061B2 (en) Process of authentication for an access to a web site
CN103986584A (zh) 基于智能设备的双因子身份验证方法
US10270774B1 (en) Electronic credential and analytics integration
EP3579595B1 (en) Improved system and method for internet access age-verification
WO2012131675A2 (en) Authentication system with time attributes
CN117454342A (zh) 基于区块链的数据处理方法、装置、设备及可读存储介质
CN110650021A (zh) 一种认证终端网络实名认证方法和系统
TW201544983A (zh) 資料通訊方法和系統及客戶端和伺服器
US20220417020A1 (en) Information processing device, information processing method, and non-transitory computer readable storage medium
CN117376000A (zh) 基于区块链的数据处理方法、装置、设备及存储介质
CN115550002B (zh) 一种基于tee的智能家居远程控制方法及相关装置
CN113342900B (zh) 一种基于区块链的个人信息授权方法及系统
CN114553573A (zh) 身份认证方法及装置
KR101257761B1 (ko) 이미지 기반 인증시스템 및 방법
KR20200057660A (ko) 계정 키 페어 기반 계정 인증 서비스를 운영하는 방법과 시스템 및 이 방법을 기록한 컴퓨터로 읽을 수 있는 기록 매체
JP2015038691A (ja) 行動パターン認証による振込処理システムおよび方法
CN109779411B (zh) 基于区块链的密码锁开锁方法、装置及设备
JP7403430B2 (ja) 認証装置、認証方法及び認証プログラム
CN117455489A (zh) 交易授权方法、装置、设备及存储介质
CN115396116A (zh) 接口鉴权方法、装置,存储介质及计算机终端

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication