CN117376000A - 基于区块链的数据处理方法、装置、设备及存储介质 - Google Patents
基于区块链的数据处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117376000A CN117376000A CN202311518690.5A CN202311518690A CN117376000A CN 117376000 A CN117376000 A CN 117376000A CN 202311518690 A CN202311518690 A CN 202311518690A CN 117376000 A CN117376000 A CN 117376000A
- Authority
- CN
- China
- Prior art keywords
- login
- transaction
- verifier
- challenge code
- private key
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 22
- 238000013475 authorization Methods 0.000 claims abstract description 89
- 238000000034 method Methods 0.000 claims abstract description 55
- 238000012795 verification Methods 0.000 claims description 76
- 230000006870 function Effects 0.000 claims description 64
- 238000012545 processing Methods 0.000 claims description 49
- 238000004590 computer program Methods 0.000 claims description 25
- 230000015654 memory Effects 0.000 claims description 21
- 238000013507 mapping Methods 0.000 claims description 19
- 230000004044 response Effects 0.000 claims description 12
- 238000005516 engineering process Methods 0.000 abstract description 17
- 238000013473 artificial intelligence Methods 0.000 abstract description 11
- 238000004422 calculation algorithm Methods 0.000 description 50
- 230000007246 mechanism Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 16
- 238000004891 communication Methods 0.000 description 13
- 230000005540 biological transmission Effects 0.000 description 8
- 238000007726 management method Methods 0.000 description 7
- 230000001815 facial effect Effects 0.000 description 6
- 230000003993 interaction Effects 0.000 description 6
- 238000010801 machine learning Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000033228 biological regulation Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000010432 diamond Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000010422 painting Methods 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0884—Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
-
- 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/3247—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 digital 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/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Abstract
本申请实施例公开了基于区块链的数据处理方法、装置、设备及存储介质,可应用于云技术、人工智能、智慧交通、辅助驾驶等各种场景,该方法包括:获取业务对象针对资源客户端的登录请求;将登录请求发送给与无密码登录方式关联的中继服务器;接收中继服务器返回的登录挑战码,通过与资源客户端关联的浏览器中的凭据获取接口,调用与业务对象关联的验证器,通过验证器根据业务对象的交易私钥对登录挑战码进行签名,得到业务对象的登录凭据;将登录凭据发送给中继服务器;接收中继服务器返回的客户端登录授权信息,根据客户端登录授权信息登录至资源客户端。采用本申请,可以提高资源客户端登录的安全性。
Description
技术领域
本申请涉及区块链技术领域,尤其涉及基于区块链的数据处理方法、装置、设备及存储介质。
背景技术
区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算方式。简单的讲,区块链就是去中心化的分布式账本。其中,区块链网络中的资源客户端是一种用于负责管理、存储用户数字资源的工具,可以用以实现资源管理业务功能,并基于该资源管理业务功能实现与去中心化应用客户端之间的通信连接。
目前是采用账号(如手机号、邮箱)和密码方式登录至资源客户端,容易受到钓鱼攻击(即非法对象向业务对象发送关于资源客户端的虚假登录页面,用户在虚假登录页面中输入账号和密码后,非法对象便获取到业务对象的账号和密码),使业务对象的数字资源被非法转移,导致资源客户端的登录安全性较低。
发明内容
本申请实施例提供基于区块链的数据处理方法、装置、设备及存储介质,可以提高资源客户端登录的安全性。
本申请实施例一方面提供一种基于区块链的数据处理方法,包括:
获取业务对象针对资源客户端的登录请求;登录请求用于指示采用无密码登录方式登录至资源客户端;
将登录请求发送给与无密码登录方式关联的中继服务器;中继服务器用于根据登录请求,生成业务对象的登录挑战码;
接收中继服务器返回的登录挑战码,通过与资源客户端关联的浏览器中的凭据获取接口,调用与业务对象关联的验证器,通过验证器根据业务对象的交易私钥对登录挑战码进行签名,得到业务对象的登录凭据;交易私钥存储在验证器中;
将登录凭据发送给中继服务器;中继服务器用于基于业务对象的交易公钥对登录凭据进行验签,在登录凭据验签成功时,生成业务对象的客户端登录授权信息;
接收中继服务器返回的客户端登录授权信息,根据客户端登录授权信息登录至资源客户端。
本申请实施例另一方面提供一种基于区块链的数据处理方法,包括:
获取终端设备发送的业务对象针对资源客户端的登录请求;登录请求用于指示采用无密码登录方式登录至资源客户端;
根据登录请求生成登录挑战码,将登录挑战码发送给终端设备;终端设备用于通过与资源客户端关联的浏览器中的凭据获取接口,调用与业务对象关联的验证器,通过验证器采用业务对象的交易私钥,对登录挑战码进行签名,得到业务对象的登录凭据;交易私钥存储在验证器中;
接收终端设备返回的登录凭据,根据业务对象的交易公钥,对登录凭据进行验签,得到登录验签结果;
在登录验签结果指示对登录凭据验签成功时,生成业务对象的登录授权信息,将登录授权信息发送给终端设备。
本申请实施例一方面提供一种基于区块链的数据处理装置,包括:
第一获取模块,用于获取业务对象针对资源客户端的登录请求;登录请求用于指示采用无密码登录方式登录至资源客户端;
请求发送模块,用于将登录请求发送给与无密码登录方式关联的中继服务器;中继服务器用于根据登录请求,生成业务对象的登录挑战码;
签名模块,用于接收中继服务器返回的登录挑战码,通过与资源客户端关联的浏览器中的凭据获取接口,调用与业务对象关联的验证器,通过验证器根据业务对象的交易私钥对登录挑战码进行签名,得到业务对象的登录凭据;交易私钥存储在验证器中;
凭据发送模块,用于将登录凭据发送给中继服务器;中继服务器用于基于业务对象的交易公钥对登录凭据进行验签,在登录凭据验签成功时,生成业务对象的客户端登录授权信息;
登录模块,用于接收中继服务器返回的客户端登录授权信息,根据客户端登录授权信息登录至资源客户端。
本申请实施例另一方面提供一种基于区块链的数据处理装置,包括:
第三获取模块,用于获取终端设备发送的业务对象针对资源客户端的登录请求;登录请求用于指示采用无密码登录方式登录至资源客户端;
登录挑战码发送模块,用于根据登录请求生成登录挑战码,将登录挑战码发送给终端设备;终端设备用于通过与所述资源客户端关联的浏览器中的凭据获取接口,调用与业务对象关联的验证器,通过验证器采用业务对象的交易私钥,对登录挑战码进行签名,得到业务对象的登录凭据;交易私钥存储在验证器中;
第一验签模块,用于接收终端设备返回的登录凭据,根据业务对象的交易公钥,对登录凭据进行验签,得到登录验签结果;
信息发送模块,用于在登录验签结果指示对登录凭据验签成功时,生成业务对象的客户端登录授权信息,将客户端登录授权信息发送给终端设备;终端设备用于根据客户端登录授权信息登录至资源客户端。
本申请实施例一方面提供了一种计算机设备,包括:处理器和存储器;
处理器与存储器相连,其中,存储器用于存储计算机程序,计算机程序被处理器执行时,使得该计算机设备执行本申请实施例提供的方法。
本申请实施例一方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,该计算机程序适于由处理器加载并执行,以使得具有该处理器的计算机设备执行本申请实施例提供的方法。
本申请实施例一方面提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例提供的方法。
本申请实施例中提供一种无密码登录方式,通过该无密码登录方式可以实现不需要输入密码便可以登录至资源客户端。具体的,在获取到用于指示业务对象采用无密码登录方式指登录至资源客户端的登录请求时,可以将该登录请求发送给与无密码登录方式关联的中继服务器,中继服务器用于根据登录请求返回登录挑战码。进一步通过与资源客户端关联的浏览器中的凭据获取接口,调用与业务对象关联的验证器,通过验证器根据业务对象的交易私钥对登录挑战码进行签名,得到业务对象的登录凭据。其中,与业务对象关联的验证器可以是指业务对象指定的验证器。可以理解的是,直接通过浏览器中的凭据获取接口,便可以调用验证器对登录挑战码进行签名,而不用关心调用硬件设备(即验证器)的具体代码信息和兼容性,更加容易和安全。将登录凭据发送给中继服务器,中继服务器基于业务对象的交易公钥对登录凭据验签成功时,会返回客户端登录授权信息,可以根据客户端登录授权信息登录至资源客户端。可见,业务对象不用输入密码便可以登录至资源客户端,可以避免钓鱼攻击,同时业务对象也可以不用记忆密码,可以避免密码忘记不能登录至资源客户端的问题,可以提高资源客户端登录的安全性,也可以提高资源客户端登录的便利性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本申请实施例提供的一种区块链结构的示意图;
图1b是本申请实施例提供的一种区块生成的示意图;
图2是本申请实施例提供的一种基于区块链的数据处理系统的结构示意图;
图3是本申请实施例提供的一种基于无密码登录方式登录至资源客户端的场景示意图;
图4是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图一;
图5是本申请实施例提供的一种资源客户端登录的示意图;
图6是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图二;
图7是本申请实施例提供的一种基于无密码登录方式登录至资源客户端的示意图;
图8是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图三;
图9是本申请实施例提供的一种基于区块链的数据处理装置一的结构示意图;
图10是本申请实施例提供的一种基于区块链的数据处理装置二的结构示意图;
图11是本申请实施例提供的一种计算机设备的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请涉及人工智能技术领域,本申请实施例具体可以通过对象特征验证模型,确定业务对象的采集对象特征和有效对象特征之间的特征匹配度,可以特征匹配度获取的准确性和效率。
其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大语音数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习、自动驾驶、智慧交通等几大方向。
具体的,本申请具体涉及人工智能技术下属的机器学习。机器学习(MachineLearning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
本申请涉及区块链(Blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。区块链由多个区块组成,参见图1a,图1a是本申请实施例提供的一种区块链结构的示意图,如图1a所示,区块链由多个区块组成,创始块中包括区块头和区块主体,区块头中存储有输入信息特征值、版本号、时间戳和难度值,区块主体中存储有输入信息;创始块的下一区块以创始块为父区块,下一区块中同样包括区块头和区块主体,区块头中存储有当前区块的输入信息特征值、父区块的区块头特征值、版本号、时间戳和难度值,并以此类推,使得区块链中每个区块中存储的区块数据均与父区块中存储的区块数据存在关联,保证了区块中输入信息的安全性。
在生成区块链中的各个区块时,参见图1b,图1b是本申请实施例提供的一种区块生成的示意图,所在的节点在接收到输入信息时,对输入信息进行校验,完成校验后,将输入信息存储至内存池中,并更新其用于记录输入信息的哈希树;之后,将更新时间戳更新为接收到输入信息的时间,并尝试不同的随机数,多次进行特征值计算,使得计算得到的特征值可以满足下述公式:
SHA256(SHA256(version+prev_hash+merkle_root+ntime+nbits+x))<TARGET
其中,公式中的SHA256为计算特征值所用的特征值算法;version(版本号)为区块链中相关区块协议的版本信息;prev_hash为当前区块的父区块的区块头特征值;merkle_root为输入信息的特征值;ntime为更新时间戳的更新时间;nbits为当前难度,在一段时间内为定值,并在超出固定时间段后再次进行确定;x为随机数;TARGET为特征值阈值,该特征值阈值可以根据nbits确定得到。
其中,当计算得到满足上述公式的随机数时,便可将信息对应存储,生成区块头和区块主体,得到当前区块。随后,区块链可以将新生成的当前区块对外广播,即将当前区块分别发送给其所在的数据共享系统中的其他节点,数据共享系统中的每个节点均存储一条相同的区块链,由其他节点对当前区块进行校验,并在完成校验后将当前区块添加至其存储的区块链中。
请参见图2,图2是本申请实施例提供的一种基于区块链的数据处理系统的结构示意图。如图2所示,该基于区块链的数据处理系统可以包括区块链网络1X以及终端设备集群1Y。其中,区块链网络1X可以包括:区块链节点200a、区块链节点200b、区块链节点200c…以及区块链节点200n,可以理解的是,区块链网络1X可以包括一个或多个区块链节点,本申请实施例不对区块链节点的数量进行限制。可以理解的是,在该区块链网络1X中,区块链节点200a、区块链节点200b、区块链节点200c…以及区块链节点200n之间可以通过网络连接进行数据交互。应当理解,区块链网络1X中的每个区块链节点(例如,区块链节点200a、区块链节点200b、区块链节点200c…以及区块链节点200n),均可以用于维护同一区块链,该区块链网络1X中的任意两个区块链节点之间可以形成点对点网络,该点对点网络可以采用点对点传输协议,其中,该点对点传输协议是一个运行在传输控制协议(TCP,TransmissionControl Protocol)协议之上的应用层协议。在分布式系统中,任何设备如服务器、终端等都可以加入而成为区块链节点。
其中,终端设备集群1Y可以包括一个或者多个终端设备,这里将不对终端设备的数量进行限制。如图2所示,具体可以包括终端设备100a、终端设备100b、终端设备100c、…、终端设备100n。如图2所示,终端设备100a、终端设备100b、终端设备100c、…、终端设备100n可以分别与区块链网络1X中的区块链节点(如区块链节点200a)进行网络连接,以便于每个终端设备可以通过该网络连接与区块链网络1X中的区块链节点进行数据交互。
其中,终端设备集群1Y中的每个终端设备均可以包括:智能手机、平板电脑、笔记本电脑、台式计算机、智能语音交互设备、智能家电(例如,智能电视)、可穿戴设备、车载终端等具有基于区块链的数据处理功能的智能终端。应当理解,如图2所示的终端设备集群1Y中的每个终端设备均可以安装有具备基于区块链的数据处理功能的资源客户端,当资源客户端运行于各终端设备中时,可以分别与上述图2所示的区块链网络1X中的区块链节点(如区块链节点200a)之间进行数据交互。可以理解的是,通过终端设备中的具备基于区块链的数据处理功能的资源客户端,便可以将关于数字资源的交易请求发送给区块链网络1X中的区块链节点。如资源客户端具体可以包括资源管理客户端、游戏应用客户端、视频客户端、音频客户端等。其中,本申请实施例中的资源客户端可以集成在某应用客户端中(如资源客户端集成在游戏应用客户端中),资源客户端还可以为独立的应用客户端,本申请实施例不对应用客户端的类型进行限定。为便于理解,本申请实施例可以在图2所示的多个终端设备中选择一个终端设备作为目标终端设备。例如,本申请实施例可以将图2所示的终端设备100a作为目标终端设备,目标终端设备中可以安装有具备基于区块链的数据处理功能的资源客户端,此时,目标终端设备可以通过该资源客户端,将关于数字资源的交易请求发送给区块链网络1X中的区块链节点。
需要说明的是,本申请实施例所涉及到的区块链网络中的所有节点设备均可以是手机、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(MID,mobile internet device)、车辆、路边设备、飞行器、可穿戴设备,例如智能手表、智能手环、计步器等具有数据处理功能的智能设备。区块链网络中的所有节点设备还可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(ContentDelivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。每个节点设备对应的设备类型可以相同,也可以不相同。
为便于后续理解和说明,本申请实施例可以在图2所示的终端集群中选择一个终端设备作为目标终端设备,例如以终端设备100a作为目标终端设备。该终端设备100a中安装有资源客户端,该资源客户端用于处理与数字资源相关的业务,如数字资源转移、交换、抽取、信息查看等业务。其中,数字资源可以是指以数字化存储在区块链上的资源,包括且不仅限于虚拟宠物、数字资产、道具、角色皮肤、钻石、点券以及虚拟宠物、名画、建筑等。资源客户端可以用以实现资源管理业务功能,并基于该资源管理业务功能实现与去中心化应用客户端之间的通信连接。资源客户端是一种用于负责管理、存储用户数字资源的工具,例如可基于资源客户端向其它账户转移数字资源,又如可基于资源客户端接收其它账户所转入的数字资源,该资源客户端可以是硬件设备也可以为软件程序。本申请中,在业务对象登录资源客户端时,提供了一种无密码登录方式,业务对象可以采用该无密码登录方式,实现不需要输入密码便可以登录至资源客户端。这样,可以避免钓鱼攻击,该钓鱼攻击是指非法对象向业务对象发送关于资源客户端的虚假登录页面,用户在虚假登录页面中输入账号和密码后,非法对象便获取到业务对象的账号和密码。同时,业务对象也可以不用记忆密码,可以避免密码忘记不能登录至资源客户端的问题,可以提高资源客户端登录的安全性,也可以提高资源客户端登录的便利性。
具体的,业务对象可以触发用于指示选择采用无密码登录方式登录至资源客户端的登录请求,终端设备100a可以获取到业务对象这对资源客户端的登录请求。其中,无密码登录方式是指基于资产客户端与浏览器交互的无密码登录方式,该无密码登录方式可以包括基于webauthn协议的登录方式,该webauthn协议是是由万维网联盟发布的Web标准,全称Web Authentication API,彻底抛弃了密码,并且统一由操作系统完成安全硬件设备和对象特征识别的集成及管理,通过浏览器调用操作系统进行提供的能力形成验证器,无需关心硬件设备的兼容和对象特征的算法。可以理解的是,无密码登录方式是资源客户端与浏览器交互,获取到业务对象的对象特征(如指纹、面部识别)或硬件密钥(如USB密钥)来进行对业务对象进行身份验证的方式。与资源客户端关联的浏览器可以是指浏览器可以与资源客户端进行通信,以打开资源客户端的登录页面,即可以业务对象可以在浏览器中打开资源客户端的登录页面进行登录。与资源客户端关联的浏览器还可以是指浏览器可以具有针对资源客户端的调用权限,以及资源客户端也具有针对浏览器的调用权限,这样,资源客户端可以调用浏览器执行相关业务。可以理解的是,通过浏览器中的凭据获取接口,便可以实现调用验证器对登录挑战码进行签名,而不用关心具体与验证器进行交互的具体代码信息,即无需关心硬件设备的兼容和对象特征(如对象指纹、对象面部特征、对象声纹等)的算法,更加容易和安全。
终端设备100a可以将该登录请求发送给与无密码登录方式关联的中继服务器,该中继服务器可以支持无密码登录方式,该中继服务器可以为区块链网络1X包括的区块链节点200a、区块链节点200b、区块链节点200c…以及区块链节点200n中的任意一个节点。中继服务器可以根据登录请求,生成业务对象的登录挑战码,将该登录挑战码返回给终端设备100a。终端设备100a可以通过与资源客户端关联的浏览器中的凭据获取接口,调用与业务对象关联的验证器,通过验证器根据业务对象的交易私钥对登录挑战码进行签名,得到业务对象的登录凭据,交易私钥存储在验证器中。
其中,验证器用于创建、存储、检索业务对象的登录密钥(即业务对象的交易私钥和交易公钥),验证器可以是内建在终端设备中的平台验证器(platform authenticator),也可以是通过USB、蓝牙、NFC等方式连接到终端设备的漫游验证器(roamingauthenticator),如Yubikey(一个用于二次身份认证的小型USB设备)。平台验证器通常可以利用终端设备上的特征辨识或屏幕锁定功能来验证业务对象的对象身份(即对象特征信息),例如指纹识别器、面部辨识器、声纹识别器、密码或图形获取器等。漫游验证器则需要业务对象按下按钮或触摸金钥来表示业务对象存在性(user presence)。浏览器可以为支持webauthn协议的浏览器,该浏览器中封装有关于webauthn协议的凭据获取接口,该凭据获取接口用于浏览器与终端设备中的硬件设备(如验证器)之间的交互。
终端设备100a可以将登录凭据发送给中继服务器,中继服务器可以基于业务对象的交易公钥对登录凭据进行验签,在对登录凭据验签成功时,生成业务对象针对资源客户端的客户端登录授权信息,中继服务器可以将客户端登录授权信息返回给终端设备100a。终端设备100a可以根据客户端登录授权信息登录至资源客户端。可见,本申请可以通过浏览器中的凭据获取接口,实现针对资源客户端的无密码登录方式,解决了钓鱼、数据破坏密码文本攻击等安全问题,同时业务对象不必管理登录密码,提供了资源客户端登录的安全性和易用性。
为便于理解,进一步地,请参见图3,图3是本申请实施例提供的一种基于无密码登录方式登录至资源客户端的场景示意图。如图3所示,终端设备30a可以为业务对象30b所持有的终端设备,该终端设备30a可以为图2中的终端设备集群1Y中的任意一个终端设备,如可以为图2中的终端设备100b,中继服务器30f可以为上述图2中的区块链网络1X中的任一区块链节点。具体的,如图3所示,以在浏览器中登录资源客户端为例,业务对象30b可以在浏览器中打开资源客户端的登录界面30c。该登录界面30c中包括关于资源客户端的登录方式,即账号密钥登录方式、无密码登录方式等多种登录方式,业务对象30b可以在该账号密钥登录方式、无密码登录方式等多种登录方式中,选择任意一种登录方式登录至资源客户端。如图3所示,在业务对象30b选择无密码登录方式时,终端设备30a可以响应于业务对象30b针对无密码登录方式的选择操作,显示关于无密码登录方式的编辑界面30d。该编辑界面30d包括标识编辑区域30e,业务对象30b可以在该标识编辑区域30e中输入业务对象30b的对象标识信息(如xiaohong001),终端设备30a可以响应于业务对象30b针对标识编辑区域30e的输入操作,将该输入操作所输入的标识信息,确定为业务对象30b的对象标识信息。
其中,编辑界面30d中还包括登录控件,业务对象30b输入对象标识信息后,可以实施针对登录控件的触发操作(如点击操作),以发起针对资源客户端的登录请求。终端设备30a可以响应于业务对象30b针对登录控件的触发操作,根据对象标识信息以及无密码登录方式,生成业务对象针对资源客户端的登录请求,该登录请求用于指示业务对象采用无密码登录方式登录至资源客户端。终端设备30a可以执行步骤S1,将登录请求发送给中继服务器30f,该中继服务器30f可以是指资源客户端的后台服务器,该中继服务器30f可以执行无密码登录方式的相关业务,中继服务器30f在接收到关于无密码登录方式的登录请求时,可以执行步骤S2,生成登录挑战码返回给终端设备30a。终端设备30a可以通过浏览器中的凭据获取接口,以登录挑战码以及业务对象30b的对象标识信息为调用参数,调用验证器。其中,凭据获取接口可以是关于Webauthn协议的navigator.credentials.get()接口,该凭据获取接口封装在浏览器中,浏览器可以通过该凭据获取接口,以调用终端设备的验证器,通过该验证器对业务对象30b的对象特征信息进行验证。
具体的,验证器可以为内建在终端设备中的平台验证器(如指纹识别验证器、面部辨识验证器、声纹识别验证器等),也可以是通过USB、蓝牙、NFC等方式连接到终端设备的漫游验证器。通过验证器,根据业务对象30b输入的对象标识信息,获取对象标识信息对应的交易私钥。同时,可以通过验证器对业务对象30b的对象特征(即对象身份)进行验证,以检测业务对象30b是否在场以及是否为本人,即在业务对象30b触发针对资源客户端的登录请求时,通过验证器对业务对象30b进行对象特征采集,得到业务对象30b的采集对象特征。该采集对象特征可以是指对象指纹信息、面部信息、声纹信息、PIN码等,根据该采集对象特征验证业务对象30b是否为交易私钥的所有者,即是否具有交易私钥的使用权。在对业务对象30b的采集对象特征验证通过时,即确定业务对象30b为交易私钥的本人,具有针对交易私钥的使用权时,则将根据对象标识信息获取到的交易私钥,确定为业务对象30b的交易私钥,采用该交易私钥对登录挑战码进行签名,得到业务对象30b针对资源客户端的登录凭据。
终端设备30a可以执行步骤S3,将登录凭据发送给中继服务器30f,中继服务器30f存储有业务对象的交易私钥,可以基于该业务对象的交易私钥,对登录凭据进行验签,在对登录凭据验签成功时,生成关于业务对象30b针对资源客户端的客户端登录授权信息,将该客户端登录授权信息返回给终端设备30a。终端设备30a可以基于该客户端登录授权信息登录至资源客户端。可见,本申请实施例可以实现在浏览器中登录资源客户端时,实现不需要输入密码便可以登录至资源客户端。这样,可以避免钓鱼攻击,业务对象也可以不用记忆密码,可以避免密码忘记不能登录至资源客户端的问题,可以提高资源客户端登录的安全性,也可以提高资源客户端登录的便利性。
进一步地,请参见图4,图4是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图一。如图4所示,该方法可以图2中的终端设备集群1Y中的任意一个终端设备来执行,本申请中用于执行该方法的设备可以统称为计算机设备,该基于区块链的数据处理方法至少可以包括但不限于以下步骤:
S101,获取业务对象针对资源客户端的登录请求。
具体的,本申请可以提供一种无密码登录方式,业务对象在需要登录资源客户端时,可以选择该无密码登录方式进行登录,以触发针对资源客户端的登录请求,该登录请求用于指示业务对象需要采用无密码登录方式登录至资源客户端。其中,资源客户端是一种用于负责管理、存储业务对象的数字资源的工具,例如可基于资源客户端向其它账户转移数字资源,又如可基于资源客户端接收其它账户所转入的数字资源,该资源客户端可以是硬件设备,也可以为软件程序,也可以为浏览器插件,也可以为浏览器网页,也可以为浏览器应用。其中,无密码登录方式可以是指基于资产客户端与浏览器交互的无密码登录方式,如该无密码登录方式可以为基于webauthn协议的登录方式,该webauthn协议是是由万维网联盟发布的Web标准,全称Web Authentication API,彻底抛弃了密码,并且统一由操作系统完成安全硬件设备和对象特征识别的集成及管理,通过浏览器调用操作系统进行提供的能力形成验证器,无需关心硬件设备的兼容和对象特征的算法。其中,登录请求可以包括业务对象的对象标识信息,该对象标识信息可以是指对象账号信息(如手机号、邮箱等)、对象名称等。
可选的,计算机设备获取业务对象针对资源客户端的登录请求的具体方式可以包括:显示关于资源客户端的登录界面;登录界面包括M种登录认证方式,M中登录认证方式包括无密码登录方式;M为正整数。响应于针对无密码登录方式的触发操作,显示关于无密码登录方式的编辑界面;编辑界面包括标识编码区域。响应于针对标识编码区域的编辑操作,将编辑操作所输入的标识信息,确定为业务对象的对象标识信息。根据对象标识信息以及无密码登录方式,生成业务对象针对资源客户端的登录请求。
具体的,在业务对象触发针对资源客户端的登录操作时,计算机设备可以显示资源客户端的登录界面。例如,在资源客户端为独立的应用程序时,若业务对象点击资源客户端的APP图标,计算机设备可以显示资源客户单的登录界面。在资源客户端为浏览器中的网页、插件或者APP时,若业务对象在浏览器中点击资源客户端的链接、图标,计算机设备可以在浏览器中显示资源客户端的登录界面。其中,该登录界面包括M种登录认证方式,该M种登录认证方式可以包括账号密码登录方式、无密码登录方式(如基于webauthn协议的登录方式)等。
业务对象可以在该M个中登录认证方式中选择任意一种方式登录至资源客户端,在业务对象选择无密码登录方式时,计算机设备可以响应于业务对象针对无密码登录方式的触发操作,显示关于无密码登录方式的编辑界面,该编辑界面包括标识编辑区域。业务对象可以在该标识编辑区域中对其对象标识信息进行编辑,即输入业务对象的对象标识信息。计算机设备可以响应于业务对象针对标识编辑区域的编辑操作,将编辑操作所输入的标识信息,确定为业务对象的对象标识信息,同时计算机设备可以根据对象标识信息以及无密码登录方式,生成业务对象针对资源客户端的登录请求,即该登录请求用于指示业务对象采用无密码登录方式登录至资源客户端。
当然,计算机设备也可以不用获取业务对象的对象标识信息,在业务对象触发针对无密码登录方式的触发操作时,计算机设备可以通过浏览器中的凭据获取接口,调用验证器采用业务对象的对象特征信息,该对象特征信息可以包括业务对象的对象指纹信息、对象面部信息、对象声纹信息、PIN码等。基于对象特征信息确定业务对象的对象标识,基于该对象标识以及无密码登录方式生成登录请求。
S102,将登录请求发送给与无密码登录方式关联的中继服务器。
具体的,计算机设备可以将登录请求发送给与无密码登录方式关联的中继服务器,该与无密码登录方式关联的中继服务器可以是指可以执行无密码登录方式相关业务的服务器,如该中继服务器可以是指资源客户端的后台服务器,该资源客户端可以是指Web3资源客户端,该Web3资源客户端可以是指采用基于webauthn协议技术和区块链应用程序集成的客户端。这样,在中继服务器接收到登录请求后,可以根据登录请求中携带的对象标识信息,检测中继服务器中是否存在业务对象的交易公钥,若不存在交易对象的交易公钥,则中继服务器可以返回对象未注册的提示信息,以提示交易对象需要针对资源客户端进行注册操作,以生成业务对象的交易私钥和交易公钥。若中继服务器中存在业务对象的交易公钥,则生成登录挑战码,以及向终端设备返回该登录挑战码。其中,登录挑战码可以是指中继服务器随机生成的随机信息。
可以理解的是,本申请实施例可以在资源客户端中封装关于无密码登录方式的JavaScript执行代码(即Js前端),当业务对象在资源客户端的登录界面中实施了针对无密码登录方式的触发操作时,Js前端可以通过中继服务器的接口,将登录请求发送给中继服务器,并接受中继服务器返回的登录挑战码。
S103,接收中继服务器返回的登录挑战码,通过与资源客户端关联的浏览器中的凭据获取接口,调用与业务对象关联的验证器,通过验证器根据业务对象的交易私钥对登录挑战码进行签名,得到业务对象的登录凭据。
具体的,计算机设备可以接收中继服务器返回的登录挑战码,通过与资源客户端关联的浏览器中的凭据获取接口,调用与业务对象关联的验证器,通过该验证器根据业务对象的交易私钥,对登录挑战码进行签名,得到业务对象的登录凭据。其中,交易私钥存储在验证器中,这样,可以确保交易私钥的安全行,非法攻击者无法接触到验证器,可以防止业务对象在使用资源客户端的过程出现钓鱼攻击,可以极大提高资源客户端登录的安全性。其中,与资源客户端关联的浏览器是指浏览器可以与资源客户端进行通信,以打开资源客户端的登录界面,即可以业务对象可以在浏览器中打开资源客户端的登录页面进行登录,即资源客户端为浏览器中的网页、插件、APP等。与资源客户端关联的浏览器还可以是指浏览器可以具有针对资源客户端的调用权限,以及资源客户端也具有针对浏览器的调用权限,如资源客户端中内置了浏览器,这样,资源客户端可以调用浏览器执行相关业务。
其中,浏览器可以为支持webauthn协议的浏览器,该浏览器中封装有关于webauthn协议的凭据获取接口,该凭据获取接口用于浏览器与终端设备中的硬件设备(如验证器)之间的交互。与业务对象关联的验证器可以为业务对象在资源客户端中进行注册时选择的验证器,如业务对象在资源客户端进行注册时,选择Yubikey为验证器,该Yubikey为与业务对象关联的验证器。凭据获取接口可以是关于webauthn协议的navigator.credentials.get()接口,该凭据获取接口封装在浏览器中,浏览器可以通过该凭据获取接口,以调用终端设备的验证器。可以理解的是,通过浏览器中的凭据获取接口,便可以实现调用验证器,而不用关心具体与验证器进行交互的具体代码信息,即无需关心硬件设备的兼容和对象特征的算法,更加容易和安全。换句话说,计算机设备可以将对象标识信息以及登录挑战码作为调用参数,调用浏览器中的凭据获取接口,通过该凭据获取接口与验证器进行交互,以调用验证器采用业务对象的交易私钥对登录挑战码进行签名。其中,验证器用于生成、存储、检索业务对象针对资源客户端的登录密钥(即交易私钥和交易公钥),可以是指内建在终端设备中的平台验证器;也可以是通过USB、蓝牙、NFC等方式连接到终端设备的漫游验证器。平台验证器通常可以利用终端设备上的特征辨识或屏幕锁定功能来验证业务对象的对象身份(即对象特征信息),例如指纹识别器、面部辨识器、密码或图形获取器等。漫游验证器则需要业务对象按下按钮或触摸金钥来表示业务对象存在性(user presence),如Yubikey。
可选的,计算机设备通过验证器根据业务对象的交易私钥对登录挑战码进行签名,得到业务对象的登录凭据的具体方式可以包括:通过验证器,根据登录请求中携带的业务对象的对象标识信息,获取对象标识信息对应的交易私钥。对业务对象进行对象特征采集,得到业务对象的采集对象特征,根据采集对象特征,对业务对象针对交易私钥的使用权限进行验证,得到权限验证结果。若权限验证结果指示业务对象具有针对交易私钥的使用权限,则采用交易私钥对登录挑战码进行签名,得到针对资源客户端的登录凭据。
具体的,登录请求中可以携带业务对象的对象标识信息,计算机设备可以通过验证器,根据登录请求携带的对象标识信息,获取对象标识信息对应的交易私钥。当然,登录请求也还可以携带资源客户端的客户端标识信息,通过验证器获取与客户端标识信息以及对象标识信息管理的交易私钥,这样,验证器可以存储业务对象在多个客户端中的私钥。同时,计算机设备可以通过验证器对业务对象进行对象特征采集,得到业务对象的采集对象特征。例如,验证器为Yubikey时,Yubikey可以输入PIN码输入框,以提示业务对象输入关于该Yubikey的PIN码,业务对象输入的PIN码为采集对象特征,只有输入正确的PIN码才可以使用Yubikey中存储的业务对象的交易私钥。例如,验证器为指纹识别器时,指纹识别器可以采集业务对象的对象指纹信息,采集到的对象指纹信息为采集对象特征,只有采集到正确的对象指纹信息才可以使用指纹识别器中存储的业务对象的交易私钥。例如,验证器为面部辨识器时,面部辨识器可以采集业务对象的对象脸部信息,采集到的对象脸部信息为采集对象特征,只有采集到正确的对象脸部信息才可以使用面部辨识器中存储的业务对象的交易私钥。
进一步地,验证器可以根据采集对象特征,对业务对象针对交易私钥的使用权限进行验证,得到权限验证结果。若计算机设备确定权限验证结果是指业务对象具有针对交易私钥的使用权限,则采用交易私钥对登录挑战码进行签名,得到业务对象针对资源客户端的登录凭据。这样,可以避免非法对象获取到业务对象的对象标识信息后,基于该对象标识信息登录至资源客户端,只有基于采集对象特征对业务对象针对交易私钥的使用权限验证通过后,采用使用交易私钥,即校验业务对象为本人且在现场后,才使用交易私钥,可以提高交易私钥使用的安全性,进而提高资源客户端的登录安全性。
可选的,计算机设备根据采集对象特征,对业务对象针对交易私钥的使用权限进行验证,得到权限验证结果的具体方式可以包括:调用验证器,获取交易私钥对应的绑定关系指示信息。根据绑定关系指示信息,确定与交易私钥具有绑定关系的有效对象特征,获取采集对象特征与有效对象特征之间的特征匹配度。若特征匹配度大于或者等于特征匹配度阈值,则确定业务对象具有针对交易私钥的使用权限,生成用于指示业务对象具有针对交易私钥的使用权限的权限验证结果。
具体的,计算机设备可以调用验证器,从指示信息集合中获取包括交易私钥的私钥标识的候选绑定关系指示信息,作为交易私钥对应的绑定关系指示信息,指示信息集合中包括多个候选绑定关系指示信息,一个候选绑定关系指示信息用于指示一个私钥与一个对象的对象特征之间的绑定关系,即指示私钥与其所有者的对象特征之间的绑定关系。根据该绑定关系指示信息,确定与交易私钥具有绑定关系的有效对象特征,即具有该有效对象特征的对象为交易私钥的所有者。计算机设备可以获取业务对象的采集对象特征与有效对象特征之间的特征匹配度,具体的,计算机设备可以采用对象特征验证模型,获取业务对象的采集对象特征和有效对象特征之间的特征匹配度,可以提高特征匹配度获取的准确性和效率。若特征匹配度大于或者等于特征匹配度阈值,则可以确定业务对象为本人且在现场,即业务对象为交易私钥的所有者,确定业务对象具有针对交易私钥的使用权限,生成用于指示业务对象具有针对交易私钥的使用权限的权限验证结果。若特征匹配度小于特征匹配度阈值,则可以确定业务对象不为本人,即业务对象不为交易私钥的所有者,确定业务对象不具有针对交易私钥的使用权限,生成用于指示业务对象不具有针对交易私钥的使用权限的权限验证结果。这样,对业务对象的采集对象特征进行验证,即对业务对象的对象身份进行验证,可以提高交易私钥使用的安全性,进而提高资源客户端的登录安全性。
可选的,计算机设备通过验证器根据业务对象的交易私钥对登录挑战码进行签名,得到业务对象的登录凭据的具体方式可以包括:通过验证器,将登录挑战码,映射至密钥生成函数对应的曲线上的曲线点,作为登录曲线点;交易公钥是基于密钥生成函数和交易私钥生成的。获取登录曲线点与交易私钥之间的点乘,得到针对资源客户端的登录凭据。
具体的,计算机设备可以基于BLS(Boneh-Lynn-Shacham Signature)签名算法,采用交易私钥对登录挑战码进行签名。其中,BLS签名算法是一种基于椭圆曲线的加密算法,BLS签名的长度更短(签名为椭圆曲线上的一个点而非两个)。计算机设备可以通过验证器,将登录挑战码映射至密钥生成函数对应的曲线上的曲线点,作为登录曲线点。可以理解的是,计算机设备可以对登录挑战码进行哈希算法,得到登录挑战码对应的哈希值,将该登录挑战码对应的哈希值映射至密钥生成函数对应的曲线上的曲线点,作为登录曲线点。其中,密钥生成函数可以是指椭圆函数,业务对象的交易公钥是基于密钥生成函数和交易私钥生成的。具体的,交易公钥是指密钥生成函数对应的曲线上的曲线生成点(即曲线生成元,即密钥生成函数对应的椭圆曲线上的任意一个点),与交易私钥之间的点乘。计算机设备可以获取登录曲线点与交易私钥之间的点乘,得到针对资源客户端的登录凭据。
当然,计算机设备也可以采用其他签名算法,对登录挑战码进行签名,其他签名算法可以包括RSA签名机制、ECDSA(Elliptic Curve Digital Signature Algorithm,椭圆曲线数字签名算法)的签名机制、Schnorr(一种基于离散对数难题的知识证明机制)的签名机制、BLS的签名机制等中的任意一种。其中,RSA签名机制是一种经典非对称加密算法,与对称加密算法不同的是,RSA签名机制有两个不同的密钥,一个是公钥,一个是私钥。ECDSA的签名机制是一种基于椭圆曲线数学理论实现的一种非对称加密算法。其中,在ECDSA和Schnorr签名算法中,对待签名的消息进行哈希计算后,结果(哈希值)是数字,BLS签名算法将基于交易数据得到的哈希值作为点的x值寻找椭圆曲线上的对应点,进一步采用私钥对寻找到的点进行签名。BLS签名算法不需要随机数生成器,可以将区块中的所有签名聚合成一个,容易实现多重签名,也可以避免签名者之间的多余通信,除此之外,BLS签名的长度更短(签名为椭圆曲线上的一个点而非两个),是Schnorr或ECDSA的二分之一。
可选的,由于不同签名算法的签名复杂度和安全性不同,如越复杂的签名算法所对应的安全性越高,因此,可以由中继服务器获取安装有资源客户端的终端设备的设备可信度,例如,根据终端设备的历史被攻击日志数据、历史登录日志数据(如发送了无效的登录凭据等)等信息确定终端设备的设备可信度。中继服务器可以基于终端设备的设备可信度,指定终端设备中的验证器所需要采用的签名算法。例如,终端设备的设备可信度越高,则指定终端设备中的验证器采用RSA签名机制对登录挑战进行签名。例如,终端设备的设备可信度越低,则指定终端设备中的验证器采用BLS签名机制对登录挑战进行签名。这样,可以确保采用交易私钥对登录挑战码进行签名得到的登录凭据更具有安全性和可靠性。
S104,将登录凭据发送给中继服务器。
具体的,计算机设备可以将登录凭据发送给中继服务器,中继服务器可以基于业务对象的交易标识信息获取业务对象的交易公钥,基于业务对象的交易公钥对登录凭据进行验签,在登录凭据验签成功时,生成业务对象的客户端登录授权信息。可以理解的是,本申请实施例可以在资源客户端中封装关于无密码登录方式的JavaScript执行代码(即Js前端),当通过浏览器调用验证器获取到登录凭据时,浏览器可以将登录凭据返回给Js前端,Js前端可以通过中继服务器的接口,将登录凭据发送给中继服务器。
具体的,中继服务器可以根据登录凭据对应的签名算法(即采用哪种签名算法签名得到的登录凭据),对登录凭据进行验签,得到登录验签结果,该登录验签结果可以包括对登录凭据验签成功,或者,对登录凭据验签失败。例如,登录凭据对应的签名算法为RSA签名机制时,中继服务器可以对登录挑战码进行哈希运算,得到登录挑战码对应的摘要信息。同时,中继服务器可以采用业务对象的交易私钥对登录凭据进行验签,得到待验证摘要信息,若该待验证摘要信息与登录挑战码对应的摘要信息匹配,则可以确定对登录凭据验签成功。若该待验证摘要信息与登录挑战码对应的摘要信息不匹配,则可以确定对登录凭据验签失败在对登录凭据验签成功时,中继服务器可以生成客户端登录授权信息,该客户端登录授权信息用于指示业务对象可以登录至资源客户端进行业务处理。在对登录凭据验签失败时,中继服务器可以生成登录失败信息,该登录失败信息用于指示业务对象不可以登录至资源客户端。
可选的,中继服务器可以存储有业务对象的有效对象特征,该有效对象特征可以是指业务对象在无密码登录方式下对资源客户端进行注册时,终端设备对业务对象进行特征采集到的,且发送给中继服务器的。终端设备向中继服务器返回业务对象的登录凭据时,可以将业务对象的采集对象特征发送给中继服务器,中继服务器也可以获取终端设备发送的采集对象特征与业务对象的有效对象特征。中继服务器只有在确定采集对象特征与有效对象特征之间的特征匹配度大于特征匹配度阈值,且对登录凭据验签成功时,才将客户端登录授权信息返回终端设备。这样,由中继服务器再次对业务对象的对象身份进行校验,可以确保资源客户端登录的安全性。
S105,接收中继服务器返回的客户端登录授权信息,根据客户端登录授权信息登录至资源客户端。
具体的,计算机设备可以接收中继服务器返回的客户端登录授权信息,根据客户端登录授权信息获取到业务对象在资源客户端中的业务信息,在终端设备中显示业务对象在资源客户端中的业务信息,以及基于客户端登录授权信息处理业务对象在资源客户端中发起的相关业务。可见,业务对象可以采用本申请实施例中的无密码登录方式,实现不需要输入密码便可以登录至资源客户端。这样,可以避免钓鱼攻击,业务对象也可以不用记忆密码,可以避免密码忘记不能登录至资源客户端的问题,可以提高资源客户端登录的安全性,也可以提高资源客户端登录的便利性。
如图5所示,图5是本申请实施例提供的一种资源客户端登录的示意图,如图5所示,以验证器为Yubikey为例,业务对象50b可以在终端设备50a中插入Yubikey,作为与业务对象50b关联的验证器50c,该验证器50c中存储有业务对象50b在资源客户端中的交易私钥。同时,该验证器50c也可以是指生成业务对象在资源客户端中的交易私钥和交易公钥的设备。终端设备50a获取到用于指示业务对象50b采用无密码登录方式登录至资源客户端的登录请求后,可以将该登录请求发送给中继服务器50d。中继服务器50d可以基于该登录请求生成登录挑战码,将该登录挑战码返回给终端设备50a。终端设备50a可以通过浏览器中的凭据获取接口,调用验证器50c,通过验证器50c显示PIN码获取界面50e。该PIN码获取界面50e中包括输入区域50f,业务对象50b可以在该输入区域中输入验证器50c的PIN码(如123456),得到业务对象50b的采集对象特征。验证器50c存储了有效对象特征(即正确的PIN码),验证器50c可以获取采集对象特征(即业务对象50b输入的PIN码)与有效对象特征之间的特征匹配度。若该特征匹配度大于或者等于特征匹配度阈值,则确定业务对象为本人且在现场,确定业务对象30b具有针对验证器50c存储的交易私钥的使用权限。验证器50c可以采用该业务对象的交易私钥,对登录挑战码进行签名,得到业务对象50b的登录凭据,将该登录凭据发送给中继服务器50d。中继服务器50d可以采用业务对象50b的交易公钥,对该登录凭据进行验签,在登录凭据验签成功时,向终端设备50a返回客户端登录授权信息,终端设备50a可以基于该客户端登录授权信息登录至资源客户端。
本申请实施例中提供一种无密码登录方式,通过该无密码登录方式可以实现不需要输入密码便可以登录至资源客户端。具体的,在获取到用于指示业务对象采用无密码登录方式指登录至资源客户端的登录请求时,可以将该登录请求发送给与无密码登录方式关联的中继服务器,中继服务器用于根据登录请求返回登录挑战码。进一步通过与资源客户端关联的浏览器中的凭据获取接口,调用与业务对象关联的验证器,通过验证器根据业务对象的交易私钥对登录挑战码进行签名,得到业务对象的登录凭据。其中,与业务对象关联的验证器可以是指业务对象指定的验证器。可以理解的是,直接通过浏览器中的凭据获取接口,便可以调用验证器对登录挑战码进行签名,而不用关心调用硬件设备(即验证器)的具体代码信息和兼容性,更加容易和安全。将登录凭据发送给中继服务器,中继服务器基于业务对象的交易公钥对登录凭据验签成功时,会返回客户端登录授权信息,可以根据客户端登录授权信息登录至资源客户端。可见,业务对象不用输入密码便可以登录至资源客户端,可以避免钓鱼攻击,同时业务对象也可以不用记忆密码,可以避免密码忘记不能登录至资源客户端的问题,可以提高资源客户端登录的安全性,也可以提高资源客户端登录的便利性。
进一步地,请参见图6,图6是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图二。如图6所示,该方法可以图2中的终端设备集群1Y中的任意一个终端设备来执行,本申请中用于执行该方法的设备可以统称为计算机设备,该基于区块链的数据处理方法至少可以包括但不限于以下步骤:
S201,获取业务对象在无密码登录方式下针对资源客户端的注册请求。
具体的,若业务对象没有在资源客户端中采用无密码登录方式注册过,例如终端设备向中继服务器发送业务对象采用无密码登录方式登录至资源客户端的登录请求后,中继服务器基于业务对象的对象标识信息没有查询到业务对象的交易公钥,则可以确定业务对象没有在资源客户端中采用无密码登录方式注册过。当然,资源客户端也可以维护一个已注册对象表,该已注册对象表包括一个或者多个已经采用无密码登录方式注册过的对象的标识信息,终端设备从资源客户端维护的已注册对象表中查询是否存在与业务对象的对象标识信息匹配的标识信息,若存在与业务对象的对象标识信息匹配的标识信息,则可以确定业务对象是已经注册过的,若不存在与业务对象的对象标识信息匹配的标识信息,则可以确定业务对象没有注册过,则可以提示业务对象在无密码登录方式下进行用户注册。当业务对象实施针对资源客户端中的无密码登录方式的触发操作时,计算机设备可以响应于业务对象针对资源客户端中的无密码登录方式的触发操作,基于业务对象输入的对象标识信息,生成业务对象在无密码登录方式下针对资源客户端的注册请求。
具体的,计算机设备可以显示资源客户端的登录界面,该登录界面中包括M个M种登录认证方式,M中登录认证方式包括无密码登录方式,M为正整数。当业务对象实施针对无密码登录方式的触发操作,计算机设备可以响应于针对无密码登录方式的触发操作,显示关于无密码登录方式的编辑界面,该编辑界面可以包括注册控件。业务对象可以实施针对该注册控件的触发操作,以发起针对在无密码登录方式下针对资源客户端的注册请求,计算机设备可以响应于针对注册控件的触发操作,显示注册界面,该注册界面包括注册标识编辑区域,业务对象可以在该注册标识编辑区域中写入自己的标识信息,计算机设备可以基于业务对象针对注册标识编辑区域的写入操作,获取到业务对象输入的标识信息,作为初始标识信息。计算机设备可以对该初始标识信息的重复性进行校验,即检测是否已有注册的对象标识信息与初始标识信息相同,若初始标识信息不具有重复性,则将初始标识信息作为业务对象的对象标识信息,根据该业务对象的对象标识信息,生成获取业务对象在无密码登录方式下针对资源客户端的注册请求。
S202,将注册请求发送给中继服务器,接收中继服务器返回的根据注册请求生成的注册挑战码。
计算机设备可以将注册请求发送给中继服务器,该中继服务器可以为资源客户端的后台服务器。中继服务器可以基于该注册请求中的对象标识信息,检测业务对象是否已经注册过,可以避免重复注册。若中继服务器检测到业务对象没有注册过,则生成注册挑战码,该注册挑战码也是中继服务器随机生成的,与登录挑战码不相同。中继服务器可以将注册挑战码返回给终端设备,同时,中继服务器也可以向终端设备发送签名指示信息,该签名指示信息用于指示终端设备采用哪种签名算法(如RSA签名机制、ECDSA签名机制、Schnorr、BLS的签名机制等中的任意一种),对注册挑战码进行签名。
S203,通过浏览器中的与无密码登录方式关联的凭据生成接口,调用与业务对象关联的验证器,通过验证器生成业务对象的交易私钥和交易公钥。
具体的,计算机设备可以通过浏览器中的与无密码登录方式关联的凭据生成接口,调用与业务对象关联的验证器,通过验证器生成业务对象的交易私钥和交易公钥。其中,无密码登录方式可以是指基于webauthn协议的登录方式,与无密码登录方式关联的凭据生成接口可以是指webauthn协议中的navigator.credentials.creata()接口,该凭据生成接口用于生成业务对象登录资源客户端的登录密钥(即业务对象的交易私钥和交易公钥),而不用关心具体与验证器进行交互的具体代码信息,即无需关心硬件设备的兼容和对象特征的算法,更加容易和安全。换句话说,计算机设备可以将对象标识信息以及注册挑战码作为调用参数,调用浏览器中的凭据生成接口,通过该凭据生成接口与验证器进行交互,以调用验证器生成业务对象的交易私钥和交易公钥,以及采用交易公钥对注册挑战码进行签名得到挑战码签名,将该挑战码签名以及交易公钥返回给中继服务器。
其中,该浏览器可以是指支持webauthn协议的浏览器,如Web3浏览器,浏览器与资源客户端关联,浏览器与资源客户端关联是指浏览器可以与资源客户端进行通信,以打开资源客户端的登录页面,即可以业务对象可以在浏览器中打开资源客户端的登录页面进行登录,如资源客户端为浏览器中的浏览器网页、浏览器插件以及浏览器app等。与资源客户端关联的浏览器还可以是指浏览器可以具有针对资源客户端的调用权限,以及资源客户端也具有针对浏览器的调用权限,这样,资源客户端可以调用浏览器执行相关业务。验证器是指内建在终端设备中的平台验证器;也可以是通过USB、蓝牙、NFC等方式连接到终端设备的漫游验证器。平台验证器通常可以利用终端设备上的特征辨识或屏幕锁定功能来验证业务对象的对象身份(即对象特征信息),例如指纹识别器、面部辨识器、密码或图形获取器等。漫游验证器则需要业务对象按下按钮或触摸金钥来表示业务对象存在性(userpresence),如Yubikey。与业务对象关联的验证器为业务对象从终端设备中的N个候选验证器中选择使用的验证器,N为正整数,N个候选验证器可以包括指纹识别器、面部辨识器、密码或图形获取器、Yubikey等。
可选的,计算机设备通过浏览器中的与无密码登录方式关联的凭据生成接口,调用与业务对象关联的验证器,通过验证器生成业务对象的交易私钥和交易公钥的具体方式可以包括:通过浏览器中的与无密码登录方式关联的凭据生成接口,获取终端设备中的N个候选验证器;N为正整数。响应于针对N个候选验证器的选择操作,将选择操作所确定的候选验证器,确定为与业务对象关联的验证器。调用验证器,生成业务对象在资源客户端中的交易私钥。根据交易私钥以及密钥生成函数对应的曲线上的曲线生成点,生成业务对象在资源客户端中的交易公钥。
具体的,计算机设备可以通过浏览器中的与无密码登录方式关联的凭据生成接口,获取终端设备中的N个候选验证器,该N个候选验证器可以包括指纹识别器、面部辨识器、密码或图形获取器、Yubikey等。业务对象可以在该N个候选验证器中选择一个验证器进行注册,计算机设备可以响应于业务对象针对N个候选验证器的选择操作,将选择操作所确定的候选验证器,作为与业务对象关联的验证器。例如,计算机设备可以输入包括N个候选验证器的选择界面,业务对象可以实施针对Yubikey的触发操作,计算机设备可以响应于针对Yubikey的触发操作,将Yubikey确定为业务对象关联的验证器。进一步地,验证器可以随机生成业务对象在资源客户端中的交易私钥,以及采用任意一种签名算法生成业务对象在资源客户端中的交易公钥。具体的,计算机设备可以通过验证器,基于BLS签名算法,获取交易私钥与密钥生成函数对应的曲线上的曲线生成点之间的点乘,将该点乘确定为业务对象在资源客户端中的交易公钥。当然,验证器也可以采用其他签名算法(如RSA签名机制、ECDSA签名机制、Schnorr签名机制等中的任意一种),生成业务对象在资源客户端中的交易公钥。当然,计算机设备可以通过验证器,根据中继服务器发送的指定签名算法,生成业务对象在资源客户端中的交易公钥。
S204,根据业务对象的对象标识信息,将交易私钥存储至验证器中,根据注册挑战码以及交易私钥,将交易公钥发送给中继服务器。
具体的,计算机设备可以根据业务对象的对象标识信息,将交易私钥存储至验证器中,这样,非法攻击者无法获取到业务对象的交易私钥,能够防止业务对象在使用资源客户端中的过程中被钓鱼攻击,可以提高资源客户端登录的安全性。当然,计算机设备也可以根据业务对象的对象标识信息以及资源客户端的客户端标识信息,将交易私钥存储至验证器中,这样可以实现存储业务对象在不同客户端中的私钥。同时,计算机设备可以根据注册挑战码以及交易私钥,将交易公钥发送给中继服务器。
可选的,验证器生成业务对象的交易私钥和交易公钥的过程中,计算机设备可以通过验证器,获取业务对象针对业务对象的交易私钥和交易公钥的密钥生成授权信息,密钥生成授权信息包括业务对象的对象特征信息。可以理解的是,在生成业务对象的交易私钥和交易公钥之前,计算机设备可以通过验证器,对业务对象的对象特征进行采集,得到密钥生成授权信息,该密钥生成授权信息包括业务对象的对象特征信息。例如,验证器为指纹识别器时,指纹识别器可以采集业务对象的对象指纹信息,若采集到业务对象的对象指纹信息,则将采集到的对象指纹信息确定为密钥生成授权信息。验证器为面部辨识器时,面部辨识器可以采集业务对象的对象面部信息,若采集到业务对象的对象面部信息,则将采集到的对象面部信息确定为密钥生成授权信息。验证器为Yubikey,Yubikey可以采集业务对象的PIN码,若采集到业务对象的PIN码,则将采集到的PIN码确定为密钥生成授权信息。
进一步,计算机设备可以将密钥生成授权信息包括的对象特征信息确定为与业务对象关联的有效对象特征,即只有在具有该有效对象特征的对象才是业务对象本人。计算机设备可以检测有效对象特征与交易私钥之间的绑定关系,将绑定关系指示信息以及有效对象特征存储至验证器中,绑定关系指示信息用于指示有效对象特征与交易私钥之间的绑定关系。这样,可以提高交易私钥的访问和使用安全性。
可选的,中继服务器在基于注册请求生成注册挑战码后,可以存储该注册挑战码,即中继服务器中存储有注册挑战码,计算机设备根据注册挑战码将交易公钥发送给中继服务器的具体方式可以包括:采用交易私钥对注册挑战码进行签名,得到挑战码签名。将交易公钥以及挑战码签名发送给中继服务器,中继服务器用于基于交易公钥和注册挑战码,对挑战码签名进行验签,在挑战码签名验签成功时,存储交易公钥。
具体的,计算机设备可以采用交易私钥对注册挑战码进行签名,得到挑战码签名。具体的,计算机设备在根据BLS签名算法采用交易私钥对注册挑战码进行签名时,计算机设备可以对注册挑战码进行哈希算法,得到注册挑战码对应的哈希值,将该注册挑战码对应的哈希值映射至密钥生成函数对应的曲线上的曲线点,作为注册曲线点,计算机设备可以获取该注册曲线点与交易私钥之间的点乘,得到挑战码签名。当然,也可以采用其他签名算法,根据交易私钥对注册挑战码进行签名。进一步地,计算机设备可以将交易公钥和挑战码签名发送给中继服务器,中继服务器可以基于交易公钥以及注册挑战码,对挑战码签名进行验签,在对挑战码签名验签成功时,根据交易对象的对象标识信息存储交易公钥。当然,在对挑战码签名验签失败时,中继服务器可以重新生成登录挑战码,请求终端设备重新对重新生成的登录挑战码进行签名。当然,在对挑战码签名验签失败的次数达到预设次数时,中继服务器可以向终端设备返回登录失败信息。其中,在注册时,中继服务器可以重新生成业务对象的存储标识,该存储标识可以与业务对象的对象标识信息不同,中继服务器可以基于建立业务对象的对象标识信息与存储标识之间的对应关系,以及建立业务对象的存储标识与交易公钥之间的对应关系。这样,中继服务器可以基于业务对象的对象标识信息查找到业务对象的存储标识,基于业务对象的存储标识查询到业务对象的交易公钥。同时,中继服务器可以将业务对象的存储标识返回给终端设备,在终端设备的验证器中,建立存储标识与业务对象的交易私钥之间的对应关系,即只有基于存储标识才能查询到业务对象的交易私钥。这样,当中继服务器接收到用于指示业务对象采用无密码登录方式登录至资源客户端的登录请求时,可以将登录挑战码和存储标识返回给终端设备,终端设备可以通过验证器基于存储标识查询到业务对象的交易私钥,基于交易私钥对登录挑战码进行签名。这样,可以提高交易私钥访问的安全性,进而提高资源客户端登录的安全性。
S205,获取业务对象针对资源客户端的登录请求。
S206,将登录请求发送给与无密码登录方式关联的中继服务器。
S207,接收中继服务器返回的登录挑战码,通过与资源客户端关联的浏览器中的凭据获取接口,调用与业务对象关联的验证器,通过验证器根据业务对象的交易私钥对登录挑战码进行签名,得到业务对象的登录凭据。
S208,将登录凭据发送给中继服务器。
S209,接收中继服务器返回的客户端登录授权信息,根据客户端登录授权信息登录至资源客户端。
具体的,本申请实施例中的步骤S205-步骤S209的内容可以参见上述步骤S101-步骤S105的内容,本申请实施例在此不再赘述。
如图7所示,图7是本申请实施例提供的一种基于无密码登录方式登录至资源客户端的示意图,如图7所示,以登录浏览器中的资源客户端为例,该浏览器中包括凭据生成接口(即navigator.credentials.creata())和凭据获取接口(即navigator.credentials.get()接口)。浏览器端可以通过该凭据生成接口和凭据获取接口,调用验证器,通过验证器实现对象注册和登录验证等业务。该验证器中可以生成并存储有业务对象的交易私钥和交易公钥。浏览器端可以通过中继服务器提供的调用接口与中继服务器进行交互,该中继服务器包括多个对象分别对应的交易公钥,如对象U1对应的公钥G1、对象U2对应的公钥G2、对象U3对应的公钥G3等。该中继服务器该存储有中继服务器的服务器公钥和服务器私钥。
具体的,当业务对象在浏览器中的资源客户端进行关于无密码登录方式的对象注册时,浏览器端可以将业务对象的注册请求发送中继服务器,中继服务器可以返回注册挑战码。中继服务器可以采用中继服务器的服务器私钥对该注册挑战码进行签名,得到注册挑战码对应的签名信息,将注册挑战码对应的签名信息以及注册挑战码返回给终端设备中的浏览器端。该浏览器端可以采用中继服务器的服务器公钥对注册挑战码的有效性进行验证,在该注册挑战码具有有效性时,该浏览器端可以基于凭据生成接口,调用终端设备中的验证器,通过验证器对业务对象进行身份验证,以获取到业务对象的密钥生成授权信息。该密钥生成授权信息用于指示业务对象同意在资源客户端中进行关于无密码登录方式的对象注册。验证器对业务对象的身份验证成功时,生成业务对象的交易私钥和交易公钥,业务对象的交易私钥和交易公钥可以存储在验证器中,浏览器端可以将业务对象的交易公钥返回给中继服务器,中继服务器可以对业务对象的交易公钥进行存储。
同样的,当业务对象在浏览器中的资源客户端中以无密码登录方式进行登录时,浏览器端可以将业务对象的登录请求发送中继服务器,中继服务器可以返回登录挑战码。中继服务器可以采用中继服务器的服务器私钥对该登录挑战码进行签名,得到登录挑战码对应的签名信息,将注册挑战码对应的签名信息以及登录挑战码返回给终端设备中的浏览器端。该浏览器端可以采用中继服务器的服务器公钥对登录挑战码的有效性进行验证,在该登录挑战码具有有效性时,该浏览器端可以基于凭据获取接口,调用终端设备中的验证器,通过验证器对业务对象进行身份验证。验证器对业务对象的身份验证成功时,采用业务对象的交易私钥对登录挑战码进行签名,得到业务对象的登录凭据,将该登录凭据返回给中继服务器。中继服务器基于业务对象的交易公钥对登录凭据进行验签,在登录凭据验签成功时,生成业务对象的客户端登录授权信息,将该客户端登录授权信息返回给终端设备,终端设备根据客户端登录授权信息登录至资源客户端。
本申请实施例中提供一种无密码登录方式,通过该无密码登录方式可以实现不需要输入密码便可以登录至资源客户端。具体的,本申请可以实现业务对象在无密码登录方式下针对资源客户端的注册,即通过浏览器中的凭据生成接口,调用验证器生成业务对象采用无密码登录方式登录至资源客户端的登录密钥(即业务对象在资源客户端中的交易私钥和交易公钥)。同时,在获取到用于指示业务对象采用无密码登录方式指登录至资源客户端的登录请求时,可以将该登录请求发送给与无密码登录方式关联的中继服务器,中继服务器用于根据登录请求返回登录挑战码。进一步通过与资源客户端关联的浏览器中的凭据获取接口,调用与业务对象关联的验证器,通过验证器根据业务对象的交易私钥对登录挑战码进行签名,得到业务对象的登录凭据。其中,与业务对象关联的验证器可以是指业务对象指定的验证器。可以理解的是,直接通过浏览器中的凭据获取接口,便可以调用验证器对登录挑战码进行签名,而不用关心调用硬件设备(即验证器)的具体代码信息和兼容性,更加容易和安全。将登录凭据发送给中继服务器,中继服务器基于业务对象的交易公钥对登录凭据验签成功时,会返回客户端登录授权信息,可以根据客户端登录授权信息登录至资源客户端。可见,业务对象不用输入密码便可以登录至资源客户端,可以避免钓鱼攻击,同时业务对象也可以不用记忆密码,可以避免密码忘记不能登录至资源客户端的问题,可以提高资源客户端登录的安全性,也可以提高资源客户端登录的便利性。
进一步地,请参见图8,图8是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图三。如图8所示,该方法可以由中继服务器来执行,该中继服务器可以为区块链网络1X的任意区块链节点,该基于区块链的数据处理方法至少可以包括但不限于以下步骤:
S301,获取终端设备发送的业务对象针对资源客户端的登录请求。
具体的,中继服务器可以获取终端设备发送的业务对象针对资源客户端的登录请求,该登录请求可以包括业务对象的对象标识信息,该对象标识信息可以是指业务对象自己输入的标识信息,也可以是指终端设备基于验证器对业务对象进行对象特征采集的特征信息识别得到的标识信息。
S302,根据登录请求生成登录挑战码,将登录挑战码发送给终端设备。
具体的,中继服务器可以基于该登录请求中的业务对象的对象标识信息,检测业务对象是否已经注册过。例如,中继服务器可以检测中继服务器中是否存储有业务对象针对资源客户端的交易公钥,若中继服务器中存储有业务对象针对资源客户端的交易公钥,则说明业务对象已经注册过,若中继服务器中未存储有业务对象针对资源客户端的交易公钥,则说明业务对象没有注册过。当然,中继服务器中可以维护一个已注册对象表,该已注册对象表包括一个或者多个已经采用无密码登录方式注册过的对象的标识信息。若中继服务器检测到该已注册对象表中存在与业务对象的对象标识信息匹配的标识信息,则可以确定业务对象已经注册过。若中继服务器检测到该已注册对象表中不存在与业务对象的对象标识信息匹配的标识信息,则可以确定业务对象没有注册过。若中继服务器确定业务对象已经注册后,则随机生成登录挑战码,将登录挑战码发送给终端设备。中继服务器也可以将关于业务对象的凭据标识发送给终端设备,指示中继服务器只接受基于该关于业务对象的凭据标识对应的交易私钥对登录挑战码进行签名。
具体的,终端设备用于通过浏览器中的与无密码登录方式关联的凭据获取接口,调用与业务对象关联的验证器,通过验证器采用业务对象的交易私钥,对登录挑战码进行签名,得到业务对象的登录凭据,交易私钥存储在验证器中。其中,中继服务器可以基于终端设备的设备可信度,确定对登录挑战码进行签名的签名算法,作为指定签名算法,将该指定签名算法或者该指定签名算法的算法标识发送给终端设备,终端设备可以通过验证器,基于该指定签名算法或者指定签名算法的算法标识,对登录挑战码进行签名。
S303,接收终端设备返回的登录凭据,根据业务对象的交易公钥,对登录凭据进行验签,得到登录验签结果。
具体的,中继服务器可以接收终端设备返回的登录凭据,根据业务对象的对象标识信息,获取到业务对象的交易公钥。当然,当中继服务器中存储有交易对象在不同客户端的交易公钥时,中继服务器可以基于业务对象的对象标识信息和资源客户端的客户端标识信息,获取到业务对象针对资源客户端的交易公钥。中继服务器可以基于登录凭据的签名算法,对登录凭据进行验签,得到登录验签结果,该登录验签结果可以包括用于指示对登录凭据验签成功的验签结果,也可以包括用于指示对登录凭据验签失败的验签结果。
可选的,当登录凭据的签名算法为BLS签名算法(即登录凭据是终端设备通过验签器采用BLS签名算法对登录挑战码进行签名得到的)时,中继服务器根据业务对象的交易公钥,对登录凭据进行验签,得到登录验签结果的具体方式可以包括:根据业务对象的对象标识信息,获取业务对象的交易公钥。根据数值映射函数,将登录挑战码和交易公钥映射至第一数值。根据数值映射函数,将曲线生成点和登录凭据映射至第二数值;曲线生成点为密钥生成函数对应的曲线上的点,交易公钥是基于密钥生成函数和交易私钥生成的。若第一数值与第二数值之间的匹配度大于或者等于数值匹配度阈值,则生成用于指示对登录凭据验签成功的登录验签结果。
其中,在挑战码签名是基于BLS签名算法生成的时,中继服务器可以获取数值映射函数,该数值映射函数为曲线配对函数,可以将密钥生成函数对应的曲线上的两个点映射至同一个数。换句话说,数值映射函数e(x)可以接受输入一条(或两条不同)曲线上任意两点P和Q,输出至同一个数值。此数值映射函数还要有一个重要的特性,即对于未知数x和两个点P、Q,无论两个点P、Q中的哪个点乘以x,结果相同,即e(x*P,Q)=e(P,x*Q)。如此,除了乘数交换仍能保持等式成立外,该e(a*P,b*Q)=e(P,ab*Q)=e(ab*P\,Q)=e(P\,Q)^(ab)也是成立的。因此,中继服务器可以根据数值映射函数,将注册挑战码以及交易公钥映射至第三数值,将曲线生成点和挑战码签名映射至第四数值。其中,曲线生成点为密钥生成函数对应的曲线上的点,交易公钥是基于密钥生成函数和交易私钥生成的。如密钥生成函数可以为椭圆函数,密钥生成函数对应的曲线为椭圆曲线。若第三数值与第四数值相同,则可以确定对登录凭据验签成功,生成用于指示对登录凭据验签成功的登录验签结果。若第三数值与第四数值不相同,则可以确定对登录凭据验签失败。
S304,在登录验签结果指示对登录凭据验签成功时,生成业务对象的登录授权信息,将登录授权信息发送给终端设备。
具体的,中继服务器在确定登录验签结果指示对登录凭据验签成功时,生成业务对象的登录授权信息,将登录授权信息发送给终端设备,终端设备可以根据客户端登录授权信息获取到业务对象在资源客户端中的业务信息,在终端设备中显示业务对象在资源客户端中的业务信息,以及基于客户端登录授权信息处理业务对象在资源客户端中发起的相关业务。可见,业务对象可以采用本申请实施例中的无密码登录方式,实现不需要输入密码便可以登录至资源客户端。这样,可以避免钓鱼攻击,业务对象也可以不用记忆密码,可以避免密码忘记不能登录至资源客户端的问题,可以提高资源客户端登录的安全性,也可以提高资源客户端登录的便利性。
可选的,业务对象可以在无密码登录方式实施针对资源客户端的注册请求,终端设备可以将该注册请求发送给中继服务器,中继服务器可以获取终端设备发送的业务对象在无密码登录方式下针对资源客户端的注册请求,注册请求包括业务对象的对象标识信息。中继服务器可以根据注册请求中的对象标识信息检测业务对象是否已经注册过,若业务对象没有注册过则随机生成注册挑战码,该注册挑战码与登录挑战码不同,将注册挑战码发送给终端设备。终端设备用于通过浏览器中的凭据生成接口,调用验证器,通过验证器生成用于业务对象在资源客户端的交易私钥和交易公钥,以及采用交易公钥对注册挑战码进行签名,得到挑战码签名。具体可以参见上述步骤S203-步骤S204的内容,本申请实施例在此不在赘述。
中继服务器可以接收终端设备返回的交易公钥以及挑战码签名,根据挑战码签名对应的签名算法,以及交易公钥和注册挑战码,对挑战码签名进行验签,在对挑战码签名验签成功时,根据对象标识信息存储交易公钥。
本申请实施例中提供一种无密码登录方式,通过该无密码登录方式可以实现不需要输入密码便可以登录至资源客户端。具体的,本申请可以实现业务对象在无密码登录方式下针对资源客户端的注册,即通过浏览器中的凭据生成接口,调用验证器生成业务对象采用无密码登录方式登录至资源客户端的登录密钥(即业务对象在资源客户端中的交易私钥和交易公钥)。同时,在获取到用于指示业务对象采用无密码登录方式指登录至资源客户端的登录请求时,可以将该登录请求发送给与无密码登录方式关联的中继服务器,中继服务器用于根据登录请求返回登录挑战码。进一步通过与资源客户端关联的浏览器中的凭据获取接口,调用与业务对象关联的验证器,通过验证器根据业务对象的交易私钥对登录挑战码进行签名,得到业务对象的登录凭据。其中,与业务对象关联的验证器可以是指业务对象指定的验证器。可以理解的是,直接通过浏览器中的凭据获取接口,便可以调用验证器对登录挑战码进行签名,而不用关心调用硬件设备(即验证器)的具体代码信息和兼容性,更加容易和安全。将登录凭据发送给中继服务器,中继服务器基于业务对象的交易公钥对登录凭据验签成功时,会返回客户端登录授权信息,可以根据客户端登录授权信息登录至资源客户端。可见,业务对象不用输入密码便可以登录至资源客户端,可以避免钓鱼攻击,同时业务对象也可以不用记忆密码,可以避免密码忘记不能登录至资源客户端的问题,可以提高资源客户端登录的安全性,也可以提高资源客户端登录的便利性。
进一步地,请参见图9,图9是本申请实施例提供的一种基于区块链的数据处理装置一的结构示意图。该基于区块链的数据处理装置一可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如,该基于区块链的数据处理装置一为一个应用软件;该基于区块链的数据处理装置一可以用于执行本申请实施例提供的方法中的相应步骤。如图9所示,该基于区块链的数据处理装置一可以为终端设备集群中的任意终端设备。该基于区块链的数据处理装置一可以包括:第一获取模块11、请求发送模块12、签名模块13、凭据发送模块14、登录模块15、第二获取模块16、接收模块17、生成模块18、公钥发送模块19、授权获取模块20、建立模块21以及存储模块22。
第一获取模块11,用于获取业务对象针对资源客户端的登录请求;登录请求用于指示采用无密码登录方式登录至资源客户端;
请求发送模块12,用于将登录请求发送给与无密码登录方式关联的中继服务器;中继服务器用于根据登录请求,生成业务对象的登录挑战码;
签名模块13,用于接收中继服务器返回的登录挑战码,通过与资源客户端关联的浏览器中的凭据获取接口,调用与业务对象关联的验证器,通过验证器根据业务对象的交易私钥对登录挑战码进行签名,得到业务对象的登录凭据;交易私钥存储在验证器中;
凭据发送模块14,用于将登录凭据发送给中继服务器;中继服务器用于基于业务对象的交易公钥对登录凭据进行验签,在登录凭据验签成功时,生成业务对象的客户端登录授权信息;
登录模块15,用于接收中继服务器返回的客户端登录授权信息,根据客户端登录授权信息登录至资源客户端。
其中,签名模块13包括:
第一获取单元1301,用于通过验证器,根据登录请求中携带的业务对象的对象标识信息,获取对象标识信息对应的交易私钥;
采集单元1302,用于对业务对象进行对象特征采集,得到业务对象的采集对象特征;
验证单元1303,用于根据采集对象特征,对业务对象针对交易私钥的使用权限进行验证,得到权限验证结果;
第一签名单元1304,用于若权限验证结果指示业务对象具有针对交易私钥的使用权限,则采用交易私钥对登录挑战码进行签名,得到业务对象的登录凭据。
其中,验证单元1303具有用于:
调用验证器,获取交易私钥对应的绑定关系指示信息;
根据绑定关系指示信息,确定与交易私钥具有绑定关系的有效对象特征;
获取采集对象特征与有效对象特征之间的特征匹配度;
若特征匹配度大于或者等于特征匹配度阈值,则确定业务对象具有针对交易私钥的使用权限;
生成用于指示业务对象具有针对交易私钥的使用权限的权限验证结果。
其中,签名模块13包括:
第一映射单元1305,用于通过验证器,将登录挑战码,映射至密钥生成函数对应的曲线上的曲线点,作为登录曲线点;交易公钥是基于密钥生成函数和交易私钥生成的;
第二获取单元1306,用于获取登录曲线点与交易私钥之间的点乘,得到针对资源客户端的登录凭据。
其中,第一获取模块11包括:
第一显示单元1101,用于显示关于资源客户端的登录界面;登录界面包括M种登录认证方式,M中登录认证方式包括无密码登录方式;M为正整数;
第二显示单元1102,用于响应于针对无密码登录方式的触发操作,显示关于无密码登录方式的编辑界面;编辑界面包括标识编辑区域;
第一确定单元1103,用于响应于针对标识编辑区域的编辑操作,将编辑操作所输入的标识信息,确定为业务对象的对象标识信息;
第一生成单元1104,用于根据对象标识信息以及无密码登录方式,生成业务对象针对资源客户端的登录请求。
其中,基于区块链的数据处理装置一还包括:
第二获取模块16,用于获取业务对象在无密码登录方式下针对资源客户端的注册请求;注册请求包括业务对象的对象标识信息;
接收模块17,用于将注册请求发送给中继服务器,接收中继服务器返回的根据注册请求生成的注册挑战码;
生成模块18,用于通过浏览器中的与无密码登录方式关联的凭据生成接口,调用与业务对象关联的验证器,通过验证器生成业务对象的交易私钥和交易公钥;
公钥发送模块19,用于根据业务对象的对象标识信息,将交易私钥存储至验证器中,根据注册挑战码以及交易私钥,将交易公钥发送给中继服务器。
其中,中继服务器中存储有注册挑战码;
公钥发送模块19包括:
第二签名单元1901,用于采用交易私钥对注册挑战码进行签名,得到挑战码签名;
发送单元1902,用于将交易公钥以及挑战码签名发送给中继服务器;中继服务器用于基于交易公钥和注册挑战码,对挑战码签名进行验签,在挑战码签名验签成功时,存储交易公钥。
其中,基于区块链的数据处理装置一还包括:
授权获取模块20,用于调用验证器,获取业务对象针对业务对象的交易私钥和交易公钥的密钥生成授权信息;密钥生成授权信息包括业务对象的对象特征信息;
建立模块21,用于将对象特征信息确定为与业务对象关联的有效对象特征,建立有效对象特征与交易私钥之间的绑定关系;
存储模块22,用于将绑定关系指示信息以及有效对象特征存储至验证器中;绑定关系指示信息用于指示有效对象特征与交易私钥之间的绑定关系。
其中,生成模块18包括:
第三获取单元1801,用于通过浏览器中的与无密码登录方式关联的凭据生成接口,获取终端设备中的N个候选验证器;N为正整数;
第二确定单元1802,用于响应于针对N个候选验证器的选择操作,将选择操作所确定的候选验证器,确定为与业务对象关联的验证器;
第二生成单元1803,用于调用验证器,生成业务对象在资源客户端中的交易私钥;
第三生成单元1804,用于根据交易私钥以及密钥生成函数对应的曲线上的曲线生成点,生成业务对象在资源客户端中的交易公钥。
本申请实施例中,术语“模块”或“单元”是指有预定功能的计算机程序或计算机程序的一部分,并与其他相关部分一起工作以实现预定目标,并且可以通过使用软件、硬件(如处理电路或存储器)或其组合来全部或部分实现。同样的,一个处理器(或多个处理器或存储器)可以用来实现一个或多个模块或单元。此外,每个模块或单元都可以是包含该模块或单元功能的整体模块或单元的一部分。根据本申请的一个实施例,图9所示的基于区块链的数据处理装置一中的各个模块可以分别或全部合并为一个或若干个单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的至少两个子单元,可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述模块是基于逻辑功能划分的,在实际应用中,一个模块的功能也可以由至少两个单元来实现,或者至少两个模块的功能由一个单元实现。在本申请的其它实施例中,基于区块链的数据处理装置一也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由至少两个单元协作实现。
根据本申请的一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算机设备上运行能够执行如图4或者图6中所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图9中所示的基于区块链的数据处理装置一,以及来实现本申请实施例的基于区块链的数据处理方法。上述计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算机设备中,并在其中运行。
本申请实施例中提供一种无密码登录方式,通过该无密码登录方式可以实现不需要输入密码便可以登录至资源客户端。具体的,本申请可以实现业务对象在无密码登录方式下针对资源客户端的注册,即通过浏览器中的凭据生成接口,调用验证器生成业务对象采用无密码登录方式登录至资源客户端的登录密钥(即业务对象在资源客户端中的交易私钥和交易公钥)。同时,在获取到用于指示业务对象采用无密码登录方式指登录至资源客户端的登录请求时,可以将该登录请求发送给与无密码登录方式关联的中继服务器,中继服务器用于根据登录请求返回登录挑战码。进一步通过与资源客户端关联的浏览器中的凭据获取接口,调用与业务对象关联的验证器,通过验证器根据业务对象的交易私钥对登录挑战码进行签名,得到业务对象的登录凭据。其中,与业务对象关联的验证器可以是指业务对象指定的验证器。可以理解的是,直接通过浏览器中的凭据获取接口,便可以调用验证器对登录挑战码进行签名,而不用关心调用硬件设备(即验证器)的具体代码信息和兼容性,更加容易和安全。将登录凭据发送给中继服务器,中继服务器基于业务对象的交易公钥对登录凭据验签成功时,会返回客户端登录授权信息,可以根据客户端登录授权信息登录至资源客户端。可见,业务对象不用输入密码便可以登录至资源客户端,可以避免钓鱼攻击,同时业务对象也可以不用记忆密码,可以避免密码忘记不能登录至资源客户端的问题,可以提高资源客户端登录的安全性,也可以提高资源客户端登录的便利性。
进一步地,请参见图10,图10是本申请实施例提供的一种基于区块链的数据处理装置二的结构示意图。该基于区块链的数据处理装置二可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如,该基于区块链的数据处理装置二为一个应用软件;该基于区块链的数据处理装置二可以用于执行本申请实施例提供的方法中的相应步骤。如图10所示,该基于区块链的数据处理装置二可以为终端设备集群中的任意终端设备。该基于区块链的数据处理装置二可以包括:第三获取模块41、登录挑战码发送模块42、第一验签模块43、信息发送模块44、第四获取模块45、注册挑战码发送模块46以及第二验签模块47。
第三获取模块41,用于获取终端设备发送的业务对象针对资源客户端的登录请求;登录请求用于指示采用无密码登录方式登录至资源客户端;
登录挑战码发送模块42,用于根据登录请求生成登录挑战码,将登录挑战码发送给终端设备;终端设备用于通过与所述资源客户端关联的浏览器中的凭据获取接口,调用与业务对象关联的验证器,通过验证器采用业务对象的交易私钥,对登录挑战码进行签名,得到业务对象的登录凭据;交易私钥存储在验证器中;
第一验签模块43,用于接收终端设备返回的登录凭据,根据业务对象的交易公钥,对登录凭据进行验签,得到登录验签结果;
信息发送模块44,用于在登录验签结果指示对登录凭据验签成功时,生成业务对象的客户端登录授权信息,将客户端登录授权信息发送给终端设备;终端设备用于根据客户端登录授权信息登录至资源客户端。
其中,第一验签模块43包括:
第四获取单元4301,用于根据业务对象的对象标识信息,获取业务对象的交易公钥;
第二映射单元4302,用于根据数值映射函数,将登录挑战码和交易公钥映射至第一数值;
第三映射单元4303,用于根据数值映射函数,将曲线生成点和登录凭据映射至第二数值;曲线生成点为密钥生成函数对应的曲线上的点,交易公钥是基于密钥生成函数和交易私钥生成的;
第四生成单元4304,用于若第一数值与第二数值之间的匹配度大于或者等于数值匹配度阈值,则生成用于指示对登录凭据验签成功的登录验签结果。
其中,基于区块链的数据处理装置二还包括:
第四获取模块45,用于获取终端设备发送的业务对象在无密码登录方式下针对资源客户端的注册请求;注册请求包括业务对象的对象标识信息;
注册挑战码发送模块46,用于根据注册请求生成注册挑战码,将注册挑战码发送给终端设备;终端设备用于通过验证器,生成用于业务对象在资源客户端的交易私钥和交易公钥,以及采用交易公钥对注册挑战码进行签名,得到挑战码签名;
第二验签模块47,用于接收终端设备返回的交易公钥以及挑战码签名,根据交易公钥以及注册挑战码,对挑战码签名进行验签,在对挑战码签名验签成功时,根据对象标识信息存储交易公钥。
本申请实施例中,术语“模块”或“单元”是指有预定功能的计算机程序或计算机程序的一部分,并与其他相关部分一起工作以实现预定目标,并且可以通过使用软件、硬件(如处理电路或存储器)或其组合来全部或部分实现。同样的,一个处理器(或多个处理器或存储器)可以用来实现一个或多个模块或单元。此外,每个模块或单元都可以是包含该模块或单元功能的整体模块或单元的一部分。根据本申请的一个实施例,图10所示的基于区块链的数据处理装置二中的各个模块可以分别或全部合并为一个或若干个单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的至少两个子单元,可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述模块是基于逻辑功能划分的,在实际应用中,一个模块的功能也可以由至少两个单元来实现,或者至少两个模块的功能由一个单元实现。在本申请的其它实施例中,基于区块链的数据处理装置二也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由至少两个单元协作实现。
根据本申请的一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算机设备上运行能够执行如图8中所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图10中所示的基于区块链的数据处理装置二,以及来实现本申请实施例的基于区块链的数据处理方法。上述计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算机设备中,并在其中运行。
本申请实施例中提供一种无密码登录方式,通过该无密码登录方式可以实现不需要输入密码便可以登录至资源客户端。具体的,本申请可以实现业务对象在无密码登录方式下针对资源客户端的注册,即通过浏览器中的凭据生成接口,调用验证器生成业务对象采用无密码登录方式登录至资源客户端的登录密钥(即业务对象在资源客户端中的交易私钥和交易公钥)。同时,在获取到用于指示业务对象采用无密码登录方式指登录至资源客户端的登录请求时,可以将该登录请求发送给与无密码登录方式关联的中继服务器,中继服务器用于根据登录请求返回登录挑战码。进一步通过与资源客户端关联的浏览器中的凭据获取接口,调用与业务对象关联的验证器,通过验证器根据业务对象的交易私钥对登录挑战码进行签名,得到业务对象的登录凭据。其中,与业务对象关联的验证器可以是指业务对象指定的验证器。可以理解的是,直接通过浏览器中的凭据获取接口,便可以调用验证器对登录挑战码进行签名,而不用关心调用硬件设备(即验证器)的具体代码信息和兼容性,更加容易和安全。将登录凭据发送给中继服务器,中继服务器基于业务对象的交易公钥对登录凭据验签成功时,会返回客户端登录授权信息,可以根据客户端登录授权信息登录至资源客户端。可见,业务对象不用输入密码便可以登录至资源客户端,可以避免钓鱼攻击,同时业务对象也可以不用记忆密码,可以避免密码忘记不能登录至资源客户端的问题,可以提高资源客户端登录的安全性,也可以提高资源客户端登录的便利性。
进一步地,请参见图11,图11是本申请实施例提供的一种计算机设备的示意图。如图11所示,该计算机设备3000可以为上述图2对应实施例中的终端设备或者区块链节点,该计算机设备3000可以包括:至少一个处理器3001,例如CPU,至少一个网络接口3004,用户接口3003,存储器3005,至少一个通信总线3002。其中,通信总线3002用于实现这些组件之间的连接通信。其中,用户接口3003可以包括显示屏(Display)、键盘(Keyboard),网络接口3004可选地可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器3005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储3005可选地还可以是至少一个位于远离前述处理器3001的存储装置。如图11所示,作为一种计算机存储介质的存储器3005可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在图11所示的计算机设备3000中,网络接口3004主要用于第二节点设备与目标中继服务器以及目标预言机服务器进行网络通信;而用户接口3003主要用于为用户提供输入的接口;而处理器3001可以用于调用存储器3005中存储的设备控制应用程序,以实现:
获取业务对象针对资源客户端的登录请求;登录请求用于指示采用无密码登录方式登录至资源客户端;
将登录请求发送给与无密码登录方式关联的中继服务器;中继服务器用于根据登录请求,生成业务对象的登录挑战码;
接收中继服务器返回的登录挑战码,通过与资源客户端关联的浏览器中的凭据获取接口,调用与业务对象关联的验证器,通过验证器根据业务对象的交易私钥对登录挑战码进行签名,得到业务对象的登录凭据;交易私钥存储在验证器中;
将登录凭据发送给中继服务器;中继服务器用于基于业务对象的交易公钥对登录凭据进行验签,在登录凭据验签成功时,生成业务对象的客户端登录授权信息;
接收中继服务器返回的客户端登录授权信息,根据客户端登录授权信息登录至资源客户端。
应当理解,本申请实施例中所描述的计算机设备3000也可执行前文图6和图8分别对应实施例中对基于区块链的数据处理方法的描述,本申请实施例中所描述的计算机设备3000也可执行前文图9和图10分别对应实施例中对基于区块链的数据处理装置的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述
此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且该计算机可读存储介质中存储有前文提及的基于区块链的数据处理装置所执行的计算机程序,且该计算机程序包括程序指令,当该处理器执行该程序指令时,能够执行前文图4、图6或者图8所对应实施例中对该基于区块链的数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。作为示例,程序指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行,分布在多个地点且通过通信网络互连的多个计算设备可以组成区块链系统。
本申请一方面提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备可执行前文图4、图6或者图8所对应实施例中对基于区块链的数据处理方法的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
需要说明的是,本申请中相关数据收集处理在实例应用时应该严格根据相关国家法律法规的要求,获取个人信息主体的知情同意或单独同意(或具备合法性基础),并在法律法规及个人信息主体的授权范围内,开展后续数据使用及处理行为。例如,本申请在获取业务对象的对象标识信息以及对象特征信息(如对象指纹信息、对象声纹信息、对象面部信息)等特征时,需要获得业务对象的知情同意或单独同意。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,上述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (17)
1.一种基于区块链的数据处理方法,其特征在于,包括:
获取业务对象针对资源客户端的登录请求;所述登录请求用于指示采用无密码登录方式登录至所述资源客户端;
将所述登录请求发送给与所述无密码登录方式关联的中继服务器;所述中继服务器用于根据所述登录请求,生成所述业务对象的登录挑战码;
接收所述中继服务器返回的所述登录挑战码,通过与所述资源客户端关联的浏览器中的凭据获取接口,调用与所述业务对象关联的验证器,通过所述验证器根据所述业务对象的交易私钥对所述登录挑战码进行签名,得到所述业务对象的登录凭据;所述交易私钥存储在所述验证器中;
将所述登录凭据发送给所述中继服务器;所述中继服务器用于基于所述业务对象的交易公钥对所述登录凭据进行验签,在所述登录凭据验签成功时,生成所述业务对象的客户端登录授权信息;
接收所述中继服务器返回的所述客户端登录授权信息,根据所述客户端登录授权信息登录至所述资源客户端。
2.根据权利要求1所述的方法,其特征在于,所述通过所述验证器根据所述业务对象的交易私钥对所述登录挑战码进行签名,得到所述业务对象的登录凭据,包括:
通过所述验证器,根据所述登录请求中携带的所述业务对象的对象标识信息,获取所述对象标识信息对应的交易私钥;
对所述业务对象进行对象特征采集,得到所述业务对象的采集对象特征;
根据所述采集对象特征,对所述业务对象针对所述交易私钥的使用权限进行验证,得到权限验证结果;
若所述权限验证结果指示所述业务对象具有针对所述交易私钥的使用权限,则采用所述交易私钥对所述登录挑战码进行签名,得到所述业务对象的登录凭据。
3.根据权利要求2所述的方法,其特征在于,所述根据所述采集对象特征,对所述业务对象针对所述交易私钥的使用权限进行验证,得到权限验证结果,包括:
调用所述验证器,获取所述交易私钥对应的绑定关系指示信息;
根据所述绑定关系指示信息,确定与所述交易私钥具有绑定关系的有效对象特征;
获取所述采集对象特征与所述有效对象特征之间的特征匹配度;
若所述特征匹配度大于或者等于特征匹配度阈值,则确定所述业务对象具有针对所述交易私钥的使用权限;
生成用于指示所述业务对象具有针对所述交易私钥的使用权限的权限验证结果。
4.根据权利要求1所述的方法,其特征在于,所述通过所述验证器根据所述业务对象的交易私钥对所述登录挑战码进行签名,得到所述业务对象的登录凭据,包括:
通过所述验证器,将所述登录挑战码,映射至密钥生成函数对应的曲线上的曲线点,作为登录曲线点;所述交易公钥是基于所述密钥生成函数和所述交易私钥生成的;
获取所述登录曲线点与所述交易私钥之间的点乘,得到针对所述资源客户端的登录凭据。
5.根据权利要求1所述的方法,其特征在于,所述获取业务对象针对资源客户端的登录请求,包括:
显示关于资源客户端的登录界面;所述登录界面包括M种登录认证方式,所述M中登录认证方式包括无密码登录方式;M为正整数;
响应于针对所述无密码登录方式的触发操作,显示关于所述无密码登录方式的编辑界面;所述编辑界面包括标识编辑区域;
响应于针对所述标识编辑区域的编辑操作,将所述编辑操作所输入的标识信息,确定为所述业务对象的对象标识信息;
根据所述对象标识信息以及所述无密码登录方式,生成所述业务对象针对所述资源客户端的登录请求。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述业务对象在所述无密码登录方式下针对所述资源客户端的注册请求;所述注册请求包括所述业务对象的对象标识信息;
将所述注册请求发送给所述中继服务器,接收所述中继服务器返回的根据所述注册请求生成的注册挑战码;
通过所述浏览器中的与所述无密码登录方式关联的凭据生成接口,调用与所述业务对象关联的验证器,通过所述验证器生成所述业务对象的交易私钥和交易公钥;
根据所述业务对象的对象标识信息,将所述交易私钥存储至所述验证器中,根据所述注册挑战码以及所述交易私钥,将所述交易公钥发送给所述中继服务器。
7.根据权利要求6所述的方法,其特征在于,所述中继服务器中存储有所述注册挑战码;
所述根据所述注册挑战码以及所述交易私钥,将所述交易公钥发送给所述中继服务器,包括:
采用所述交易私钥对所述注册挑战码进行签名,得到挑战码签名;
将所述交易公钥以及所述挑战码签名发送给所述中继服务器;所述中继服务器用于基于所述交易公钥和所述注册挑战码,对所述挑战码签名进行验签,在所述挑战码签名验签成功时,存储所述交易公钥。
8.根据权利要求6所述的方法,其特征在于,所述方法还包括:
调用所述验证器,获取所述业务对象针对所述业务对象的交易私钥和交易公钥的密钥生成授权信息;所述密钥生成授权信息包括所述业务对象的对象特征信息;
将所述对象特征信息确定为与所述业务对象关联的有效对象特征,建立所述有效对象特征与所述交易私钥之间的绑定关系;
将绑定关系指示信息以及所述有效对象特征存储至所述验证器中;所述绑定关系指示信息用于指示所述有效对象特征与所述交易私钥之间的绑定关系。
9.根据权利要求6所述的方法,其特征在于,所述通过所述浏览器中的与所述无密码登录方式关联的凭据生成接口,调用与所述业务对象关联的验证器,通过所述验证器生成所述业务对象的交易私钥和交易公钥,包括:
通过所述浏览器中的与所述无密码登录方式关联的凭据生成接口,获取终端设备中的N个候选验证器;N为正整数;
响应于针对所述N个候选验证器的选择操作,将所述选择操作所确定的候选验证器,确定为与所述业务对象关联的验证器;
调用所述验证器,生成所述业务对象在所述资源客户端中的交易私钥;
根据所述交易私钥以及密钥生成函数对应的曲线上的曲线生成点,生成所述业务对象在所述资源客户端中的交易公钥。
10.一种基于区块链的数据处理方法,其特征在于,包括:
获取终端设备发送的业务对象针对源客户端的登录请求;所述登录请求用于指示采用无密码登录方式登录至所述资源客户端;
根据所述登录请求生成登录挑战码,将所述登录挑战码发送给所述终端设备;所述终端设备用于通过与所述资源客户端关联的浏览器中的凭据获取接口,调用与所述业务对象关联的验证器,通过所述验证器采用所述业务对象的交易私钥,对所述登录挑战码进行签名,得到所述业务对象的登录凭据;所述交易私钥存储在所述验证器中;
接收所述终端设备返回的所述登录凭据,根据所述业务对象的交易公钥,对所述登录凭据进行验签,得到登录验签结果;
在所述登录验签结果指示对所述登录凭据验签成功时,生成所述业务对象的登录授权信息,将所述登录授权信息发送给所述终端设备。
11.根据权利要求10所述的方法,其特征在于,所述根据所述业务对象的交易公钥,对所述登录凭据进行验签,得到登录验签结果,包括:
根据所述业务对象的对象标识信息,获取所述业务对象的交易公钥;
根据数值映射函数,将所述登录挑战码和所述交易公钥映射至第一数值;
根据所述数值映射函数,将曲线生成点和所述登录凭据映射至第二数值;所述曲线生成点为密钥生成函数对应的曲线上的点,所述交易公钥是基于所述密钥生成函数和所述交易私钥生成的;
若所述第一数值与所述第二数值之间的匹配度大于或者等于数值匹配度阈值,则生成用于指示对所述登录凭据验签成功的登录验签结果。
12.根据权利要求10所述的方法,其特征在于,所述方法还包括:
获取所述终端设备发送的所述业务对象在所述无密码登录方式下针对所述资源客户端的注册请求;所述注册请求包括所述业务对象的对象标识信息;
根据所述注册请求生成注册挑战码,将所述注册挑战码发送给所述终端设备;所述终端设备用于通过所述验证器,生成用于所述业务对象在所述资源客户端的交易私钥和交易公钥,以及采用所述交易公钥对所述注册挑战码进行签名,得到挑战码签名;
接收所述终端设备返回的所述交易公钥以及所述挑战码签名,根据所述交易公钥以及所述注册挑战码,对所述挑战码签名进行验签,在对所述挑战码签名验签成功时,根据所述对象标识信息存储所述交易公钥。
13.一种基于区块链的数据处理装置,其特征在于,包括:
第一获取模块,用于获取业务对象针对资源客户端的登录请求;所述登录请求用于指示采用无密码登录方式登录至所述资源客户端;
请求发送模块,用于将所述登录请求发送给与所述无密码登录方式关联的中继服务器;所述中继服务器用于根据所述登录请求,生成所述业务对象的登录挑战码;
签名模块,用于接收所述中继服务器返回的所述登录挑战码,通过与所述资源客户端关联的浏览器中的凭据获取接口,调用与所述业务对象关联的验证器,通过所述验证器根据所述业务对象的交易私钥对所述登录挑战码进行签名,得到所述业务对象的登录凭据;所述交易私钥存储在所述验证器中;
凭据发送模块,用于将所述登录凭据发送给所述中继服务器;所述中继服务器用于基于所述业务对象的交易公钥对所述登录凭据进行验签,在所述登录凭据验签成功时,生成所述业务对象的客户端登录授权信息;
登录模块,用于接收所述中继服务器返回的所述客户端登录授权信息,根据所述客户端登录授权信息登录至所述资源客户端。
14.一种基于区块链的数据处理装置,其特征在于,包括:
第三获取模块,用于获取终端设备发送的业务对象针对所述资源客户端的登录请求;所述登录请求用于指示采用无密码登录方式登录至所述资源客户端;
登录挑战码发送模块,用于根据所述登录请求生成登录挑战码,将所述登录挑战码发送给所述终端设备;所述终端设备用于通过与所述资源客户端关联的浏览器中的凭据获取接口,调用与所述业务对象关联的验证器,通过所述验证器采用所述业务对象的交易私钥,对所述登录挑战码进行签名,得到所述业务对象的登录凭据;所述交易私钥存储在所述验证器中;
第一验签模块,用于接收所述终端设备返回的所述登录凭据,根据所述业务对象的交易公钥,对所述登录凭据进行验签,得到登录验签结果;
信息发送模块,用于在所述登录验签结果指示对所述登录凭据验签成功时,生成所述业务对象的客户端登录授权信息,将所述客户端登录授权信息发送给所述终端设备;所述终端设备用于根据所述客户端登录授权信息登录至所述资源客户端。
15.一种计算机设备,其特征在于,包括:处理器和存储器;
所述处理器与存储器相连,其中,所述存储器用于存储计算机程序,所述处理器用于调用所述计算机程序,以使得所述计算机设备执行权利要求1-12任一项所述的方法。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序适于由处理器加载并执行,以使得具有所述处理器的计算机设备执行权利要求1-12任一项所述的方法。
17.一种计算机程序产品或计算机程序,其特征在于,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中,所述计算机指令适于由处理器读取并执行,以使得具有所述处理器的计算机设备执行权利要求1-12任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311518690.5A CN117376000A (zh) | 2023-11-13 | 2023-11-13 | 基于区块链的数据处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311518690.5A CN117376000A (zh) | 2023-11-13 | 2023-11-13 | 基于区块链的数据处理方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117376000A true CN117376000A (zh) | 2024-01-09 |
Family
ID=89398449
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311518690.5A Pending CN117376000A (zh) | 2023-11-13 | 2023-11-13 | 基于区块链的数据处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117376000A (zh) |
-
2023
- 2023-11-13 CN CN202311518690.5A patent/CN117376000A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Javaid et al. | Blockpro: Blockchain based data provenance and integrity for secure iot environments | |
CN111429254B (zh) | 一种业务数据处理方法、设备以及可读存储介质 | |
CN108259438B (zh) | 一种基于区块链技术的认证的方法和装置 | |
CN106330850B (zh) | 一种基于生物特征的安全校验方法及客户端、服务器 | |
CN110768968B (zh) | 基于可验证声明的授权方法、装置、设备及系统 | |
CN112104665B (zh) | 基于区块链的身份验证方法、装置、计算机以及存储介质 | |
CN114679293A (zh) | 基于零信任安全的访问控制方法、设备及存储介质 | |
CN110602052A (zh) | 微服务处理方法及服务器 | |
US11539526B2 (en) | Method and apparatus for managing user authentication in a blockchain network | |
CN112651011B (zh) | 运维系统登录验证方法、装置、设备以及计算机存储介质 | |
WO2022166637A1 (zh) | 基于区块链网络的数据处理方法、装置及计算机设备 | |
CN112000744A (zh) | 一种签名方法及相关设备 | |
US20210241270A1 (en) | System and method of blockchain transaction verification | |
CN116527372B (zh) | 基于互联网的数据安全交互系统及方法 | |
CN113569263A (zh) | 跨私域数据的安全处理方法、装置及电子设备 | |
CN105162774A (zh) | 虚拟机登陆方法、用于终端的虚拟机登陆方法及装置 | |
CN101129043A (zh) | 用于将客户机连接到网络的方法、系统和程序产品 | |
CN110910110A (zh) | 一种数据处理方法、装置及计算机存储介质 | |
KR102372503B1 (ko) | 탈중앙화 아이디 앱을 이용하여 인증 서비스를 제공하는 방법 및 이를 이용한 탈중앙화 아이디 인증 서버 | |
CN111597537B (zh) | 基于区块链网络的证书签发方法、相关设备及介质 | |
GB2567715A (en) | Authentication system, method and program | |
CN108965335B (zh) | 防止恶意访问登录接口的方法、电子设备及计算机介质 | |
CN115150178A (zh) | 一种基于区块链的跨平台统一登录认证方法和装置 | |
CN114817903A (zh) | 基于智能合约的疫苗接种验证系统、方法及合约平台 | |
CN117376000A (zh) | 基于区块链的数据处理方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |