CN114598531A - 身份认证方法及设备 - Google Patents

身份认证方法及设备 Download PDF

Info

Publication number
CN114598531A
CN114598531A CN202210238021.1A CN202210238021A CN114598531A CN 114598531 A CN114598531 A CN 114598531A CN 202210238021 A CN202210238021 A CN 202210238021A CN 114598531 A CN114598531 A CN 114598531A
Authority
CN
China
Prior art keywords
user
signature
block chain
blockchain
information
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
CN202210238021.1A
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.)
Shanghai Xingtubit Information Technology Service Co ltd
Original Assignee
Shanghai Xingtubit Information Technology Service 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 Shanghai Xingtubit Information Technology Service Co ltd filed Critical Shanghai Xingtubit Information Technology Service Co ltd
Priority to CN202210238021.1A priority Critical patent/CN114598531A/zh
Publication of CN114598531A publication Critical patent/CN114598531A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Abstract

本发明的目的是提供一种身份认证方法及设备,本发明基于消息签名的身份验证机制比第三方证明所有权更安全,因为钱包利用保存在本地的凭据(公钥和私钥)代替使用第三方管理的身份凭证,被攻击可能更小,增强了隐私性。另外,本发明使用离线签名方案,无需将消息上链同步,消除了使用区块链网络带来的额外开销,也等待上链交易延迟确认,提高了工作效率。而且,本发明一键式认证流程,借助数字钱包浏览器插件(创建连接器)获取跨链公钥、地址,可以实现签名功能,并简化交互流程。

Description

身份认证方法及设备
技术领域
本发明涉及计算机领域,尤其涉及一种身份认证方法及设备。
背景技术
伴随着元宇宙在国内的兴起、NFT艺术的流行,区块链上数字资产种类日益增多,在异构的区块链上涌现出大量不同的NFT项目,区块链属于分布式账本技术的一种,每一条链都相当于一个独立的账本。
异构的区块链即不同类型的区块链,使用不同的数据格式,比如,以太坊使用递归长度前缀编码(RLP)数据编码,fabric使用protobuf定账本数据编码。基于不同的数据格式,其对应的账本验证方法也不同,fabric使用多个背书节点签名,而以太坊采用支持SPV协议的轻客户端验证。这种区块链间的数据结构、证明方法的差异,导致了验证复杂度高,信任根不统一。
对于一个用户,在多条异构的区块链上其拥有的身份标识无法建立可信的映射关系,限制了异构区块链上数据资产之间的协同操作和价值流通。
发明内容
本发明的一个目的是提供一种身份认证方法及设备。
根据本发明的一个方面,提供了一种身份认证方法,该方法包括:
web服务端获取异构的第一区块链和第二区块链是否为同一用户的验证请求;
web服务端基于所述验证请求,从第二区块链提取第一用户标识符,并将第一用户标识符发送给Web应用端;
Web应用端基于第一用户标识符,生成待签名的验证信息;
Web应用端利用由区块链钱包插件注入的创建连接器,向所述第一区块链发送待签名的验证信息;
所述第一区块链使用第一区块链上用户的私钥对待签名的验证信息进行签名,以得到签名信息,并将签名信息发送给创建连接器;
Web应用端从创建连接器获取签名信息,并将签名信息和第一用户标识符发送给Web服务端;
Web服务端从第二区块链获取第二区块链本地保存的用户的公钥,并采用获取到的用户的公钥对签名信息进行验签,以得到第二用户标识符,并比较验签得到的第二用户标识符和接收到的第一用户标识符是否一致,若一致,则第一区块链和第二区块链属于同一用户;否则,第一区块链和第二区块链属于不同的用户。
进一步的,上述方法中,web服务端基于所述验证请求,从第二区块链提取第一用户标识符,包括:
web服务端基于所述验证请求,提取第一区块链的钱包地址信息作为第一用户标识符。
进一步的,上述方法中,Web应用端基于第一用户标识符,生成待签名的验证信息,包括:
Web应用端将第一用户标识符和域分隔符,封装成待签名的验证信息。
进一步的,上述方法中,Web服务端从第二区块链获取第二区块链本地保存的用户的公钥之前,还包括:
第一区块链将用户的公钥发送给所述创建连接器,Web应用端从创建连接器获取用户的公钥,并将用户的公钥发送给Web服务端,Web服务端将用户的公钥发送给属于该用户的其他区块链。
进一步的,上述方法中,Web应用端利用由区块链钱包插件注入的创建连接器,向所述第一区块链A发送待签名的验证信息,包括:
Web应用端向用户发送签名授权请求;
若Web应用端获取到用户基于签名授权请求到授权信息,则Web应用端利用由区块链钱包插件注入的创建连接器,向所述第一区块链发送待签名的验证信息。
进一步的,上述方法中,Web应用端从创建连接器获取签名信息,并将签名信息和第一用户标识符发送给Web服务端,包括:
Web应用端从创建连接器获取签名信息,并将签名信息、第一用户标识符和随机码,构造成消息票据,并将消息票据发送给Web服务端。
进一步的,上述方法中,Web服务端从第二区块链获取本地保存的用户的公钥,并采用获取到的用户的公钥对签名信息进行验签,以得到第二用户标识符,包括:
Web服务端对消息票据中的随机码进行验证,若随机码验证通过,则Web服务端从第二区块链获取本地保存的用户的公钥,并采用获取到的用户的公钥对消息票据中的签名信息进行验签,以得到第二用户标识符。
根据本发明的另一方面,还提供一种身份认证设备,其中,该设备包括:
web服务端,用于获取异构的第一区块链和第二区块链是否为同一用户的验证请求;基于所述验证请求,从第二区块链提取第一用户标识符,并将第一用户标识符发送给Web应用端;
Web应用端,用于基于第一用户标识符,生成待签名的验证信息;利用由区块链钱包插件注入的创建连接器,向所述第一区块链发送待签名的验证信息;从创建连接器获取签名信息,并将签名信息和第一用户标识符发送给Web服务端;及用于从第二区块链获取第二区块链本地保存的用户的公钥,并采用获取到的用户的公钥对签名信息进行验签,以得到第二用户标识符,并比较验签得到的第二用户标识符和接收到的第一用户标识符是否一致,若一致,则第一区块链和第二区块链属于同一用户;否则,第一区块链和第二区块链属于不同的用户;
第一区块链,用于使用第一区块链上用户的私钥对待签名的验证信息进行签名,以得到签名信息,并将签名信息发送给创建连接器。
进一步的,上述设备中,所述web服务端,用于基于所述验证请求,提取第一区块链的钱包地址信息作为第一用户标识符。
进一步的,上述设备中,所述Web应用端,用于将第一用户标识符和域分隔符,封装成待签名的验证信息。
进一步的,上述设备中,所述第一区块链,用于将用户的公钥发送给所述创建连接器;
所述Web应用端,用于从创建连接器获取用户的公钥,并将用户的公钥发送给Web服务端;
所述Web服务端,用于将用户的公钥发送给属于该用户的其他区块链。
进一步的,上述设备中,所述Web应用端,用于向用户发送签名授权请求;若获取到用户基于签名授权请求到授权信息,则利用由区块链钱包插件注入的创建连接器,向所述第一区块链发送待签名的验证信息。
进一步的,上述设备中,所述Web应用端,用于从创建连接器获取签名信息,并将签名信息、第一用户标识符和随机码,构造成消息票据,并将消息票据发送给Web服务端。
进一步的,上述设备中,所述Web服务端,用于对消息票据中的随机码进行验证,若随机码验证通过,则从第二区块链获取本地保存的用户的公钥,并采用获取到的用户的公钥对消息票据中的签名信息进行验签,以得到第二用户标识符。
根据本发明的另一方面,还提供一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现上述任一项所述的方法。
根据本发明的另一方面,还提供一种用于在网络设备端信息处理的设备,该设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该设备执行上述任一项所述的方法。
与现有技术相比,本发明主要目的是协调异构的区块链上用户的互认问题,建立一种的面向异构区块链的跨链用户身份认证方案。本方案基于离线签名方案进行链下签名,无需将消息上链,减少了时延及费用开销。同时,本发明借助更轻量级的钱包管理公钥和私钥,并使用区块链所提供的加密功能,简化了认证流程,对于用户可直接在Web应用端进行一键式认证,提高认证效率。
本发明基于消息签名的身份验证机制比第三方证明所有权更安全,因为钱包利用保存在本地的凭据(公钥和私钥)代替使用第三方管理的身份凭证,被攻击可能更小,增强了隐私性。另外,本发明使用离线签名方案,无需将消息上链同步,消除了使用区块链网络带来的额外开销,也等待上链交易延迟确认,提高了工作效率。而且,本发明一键式认证流程,借助数字钱包浏览器插件(创建连接器)获取跨链公钥、地址,可以实现签名功能,并简化交互流程。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1示出现有的区块链示意图;的一种身份认证方法及设备示意图;
图2示出现有的链上认证方案的示意图;
图3示出本发明一实施例区块链的身份认证的示意图;
图4示出本发明一实施例区块链的身份认证的的流程图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本发明作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
区块链从本质上讲,它是一个共享数据库,存储于其中的数据或信息,具有“不可伪造”“全程留痕”“可以追溯”“公开透明”“集体维护”等特征。
狭义区块链是按照时间顺序,将数据区块以顺序相连的方式组合成的链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。
广义区块链技术是利用块链式数据结构验证与存储数据,利用分布式节点共识算法生成和更新数据,利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约,编程和操作数据的全新的分布式基础架构与计算范式。
一般说来,如图1所示,区块链系统由数据层、网络层、共识层、激励层、合约层和应用层组成。
其中,数据层封装了底层数据区块以及相关的数据加密和时间戳等基础数据和基本算法;
网络层则包括分布式组网机制、数据传播机制和数据验证机制等;
共识层主要封装网络节点的各类共识算法;
激励层将经济因素集成到区块链技术体系中来,主要包括经济激励的发行机制和分配机制等;
合约层主要封装各类脚本、算法和智能合约,是区块链可编程特性的基础;
应用层则封装了区块链的各种应用场景和案例。
该模型中,基于时间戳的链式区块结构、分布式节点的共识机制、基于共识算力的经济激励和灵活可编程的智能合约是区块链技术最具代表性的创新点。
如图2所示,现有方案中常见的是通过链上智能合约,按照一定的身份协议和通信协议进行多轮信息交换。
身份协议通常以PKI体系为基础,定义链的“唯一标识”;通讯协议以身份互认这些跨链的基础协议,再辅助以数据传输的打通,通常以可编程的智能合约之间提供跨链通讯接口。
具体地,各区块链首先基于身份协议获得唯一的链身份标识,用于表示跨链信息的发送方或接收方。账本发送链将待发送的数据经过中继组件和证明转化组件之后生成规范化、轻量级的自描述数据包,根据通讯协议定义的报文格式和消息流程将账本数据发送给相应的接收链。接收链中的中继组件将账本和证明提取出来传递给链上系统,链上客户端执行账本验证和相关的业务执行操作。
现有技术本质上是一种链上认证方案,跨链的双方需要经过多次信息交互,流程较为复杂;同时受区块链本身性能制约,需要接受交易延迟确定带来的时延及网络带宽的开销,并需要为此付出额外的gas费用。
如图3和4所示,针对上述问题,本发明提供一种身份认证方法,所述方法包括:
步骤S1,web服务端获取异构的第一区块链A和第二区块链B是否为同一用户的验证请求;
在此,第一区块链A提供加密功能,第二区块链B提供第一用户标识符如公开的地址信息;
步骤S2,web服务端基于所述验证请求,从第二区块链B提取第一用户标识符(identification1),并将第一用户标识符(identification1)发送给Web应用端;
在此,Web服务端,用于获取第二区块链B的身份标识,并提供验签功能;
步骤S3,Web应用端基于第一用户标识符(identification1),生成待签名的验证信息(Authentication);
在此,如图3所示,Web应用端,可以包含:前端页面和利用区块链钱包插件注入的Web3 Provider(创建连接器),其中,前端页面用于提供用户浏览和点击;Web3 Provider(创建连接器)用于获取需要进行跨链认证的第一区块链A的上用户的公钥,及用于提供离线签名功能;
步骤S4,Web应用端利用由区块链钱包插件注入的创建连接器(Web3Provider),向所述第一区块链A发送待签名的验证信息(Authentication);
步骤S5,所述第一区块链A使用第一区块链A上用户的私钥对待签名的验证信息(Authentication)进行签名,以得到签名信息(signature),第一区块链A并将签名信息(signature)发送给创建连接器(Web3Provider);
步骤S6,Web应用端从创建连接器(Web3 Provider)获取签名信息(signature),并将签名信息(signature)和第一用户标识符(identification1)发送给Web服务端;
步骤S7,Web服务端从第二区块链B获取第二区块链B本地保存的用户的公钥,并采用获取到的用户的公钥对签名信息(signature)进行验签,以得到第二用户标识符(identification2),并比较验签得到的第二用户标识符(identification2)和接收到的第一用户标识符(identification1)是否一致,若一致,则第一区块链A和第二区块链B属于同一用户,从而完成跨链用户证明;否则,第一区块链A和第二区块链B属于不同的用户。
在此,当Web服务端收到验签请求后,利用用户在第一区块链A的公钥进行验签,比对Tickets中提供的第一身份标识符(identification1)与由签名信息(signature)解密得到的第二身份标识(identification2)是否一致,如果一致,则用户证明第一区块链A上的地址Address1与第二区块链B上地址Address2所属权为同一人,完成跨链用户证明。
本发明主要目的是协调异构的区块链上用户的互认问题,建立一种的面向异构区块链的跨链用户身份认证方案。本方案基于离线签名方案进行链下签名,无需将消息上链,减少了时延及费用开销。同时,本发明借助更轻量级的钱包管理公钥和私钥,并使用区块链所提供的加密功能,简化了认证流程,对于用户可直接在Web应用端进行一键式认证,提高认证效率。
例如,第二区块链B上的智能合约需要用到用户的第一区块链A上的图片资产,那么首先要验证第二区块链B和第一区块链A属于同一用户,第二区块链B上的智能合约才有权使用同一用户的第一区块链A上的图片资产。
在数字资产世界里,数字钱包是一个密钥(包含私钥和公钥)的管理容器。用户使用私钥进行签名交易,从而证明拥有该交易的输出权,区别于传统意义上的钱包,区块链的钱包仅仅是个显示作用,并不是放钱的地方。其交易信息并不是存储在该钱包内,而是存储在区块链中。
数字签名就是附加在数据单元上的一些数据,或是对数据单元所作的密码变换。这种数据或变换允许数据单元的接收者用以确认数据单元的来源和数据单元的完整性并保护数据,防止被人(例如接收者)进行伪造。它是对电子形式的消息进行签名的一种方法,一个签名消息能在一个通信网络中传输。基于公钥密码体制和私钥密码体制都可以获得数字签名,主要是基于公钥密码体制的数字签名。包括普通数字签名和特殊数字签名。普通数字签名算法有RSA、ElGamal、Fiat-Shamir、Guillou-Quisquarter、Schnorr、Ong-Schnorr-Shamir数字签名算法、Des/DSA,椭圆曲线数字签名算法和有限自动机数字签名算法等。特殊数字签名有盲签名、代理签名、群签名、不可否认签名、公平盲签名、门限签名、具有消息恢复功能的签名等,它与具体应用环境密切相关。
区块链能够实现去中心化无信任情形下的资产安全,关键点在于充分引入公私钥体系,通过对每笔交易进行私钥签名的方式保证每个人都只能花费他自己账号里的钱,别人也可以很容易的去验证某笔交易确实是账号所有人所发出的。同时私钥不仅可以签名交易,还可以签名其它数据。
本发明的身份认证方法一实施例中,步骤S2,web服务端基于所述验证请求,从第二区块链B提取第一用户标识符,包括:
web服务端基于所述验证请求,提取第一区块链B的钱包地址信息作为第一用户标识符。
在此,web服务端基于所述验证请求提取第一用户标识符(identification1),例如获取用户在第二区块链B上的公开端钱包地址信息Address2作为第一用户标识符。
本实施例的核心思想是构建基于消息签名的身份验证机制,并将用户在任意一条区块链B上的公开的钱包地址信息作为其第一用户标识符,利用用户在另一条区块链A的私钥对含有该钱包地址信息的认证消息进行签名,可以高效的证明账户所属权。
本发明的身份认证方法一实施例中,步骤S3,Web应用端基于第一用户标识符,生成待签名的验证信息(Authentication),包括:
Web应用端将第一用户标识符和域分隔符,封装成待签名的验证信息(Authentication)。
在此,可以根据离线签名协议,Web应用端将获取到的第一用户标识符构造为需要签名的数据信息,之后与域分隔符(用于指向第一区块链a信息,基于域分隔符可以找到区块链a的位置)一起封装待签名的验证信息Authentication。
Authentication=json(msg(identification1),domain(域分隔符),types数据类型(用于解析数据信息))
本发明的身份认证方法一实施例中,步骤S7,Web服务端从第二区块链B获取第二区块链B本地保存的用户的公钥之前,还包括:
第一区块链A将用户的公钥发送给所述创建连接器(Web3Provider),Web应用端从创建连接器(Web3 Provider)获取用户的公钥,并将用户的公钥发送给Web服务端,Web服务端将用户的公钥发送给属于该用户的其他区块链,如第二区块链B。
在此,可以将某一用户的公钥事先存储到同一用户的其他区块链上,以便后续可以基于公钥,实现对同一用户的异构区块链的可靠验证。
本发明的身份认证方法一实施例中,步骤S4,Web应用端利用由区块链钱包插件注入的创建连接器(Web3 Provider),向所述第一区块链A发送待签名的验证信息(Authentication),包括:
Web应用端向用户发送签名授权请求;
若Web应用端获取到用户基于签名授权请求到授权信息,则Web应用端利用由区块链钱包插件注入的创建连接器(Web3 Provider),向所述第一区块链A发送待签名的验证信息(Authentication)。
在此,可以利用由区块链钱包插件注入的创建连接器(Web3Provider),通过RPC通信(可以跨平台,兼容性好,更方便)的方式向第一区块链A发送待签名的验证信息(Authentication)。
用户在Web应用端确认签名授权,验证是否是恶意授权请求,若不是授权执行离线签名操作,Web应用端通过Web3 Provider向所述第一区块链A发送待签名的验证信息(Authentication)。第一区块链A基于用户的授权信息进行签名,仅提供签名功能,无需将广播此消息,第一区块链A采用用户在第一区块链A上的私钥对验证信息(Authentication)进行签名,以得到签名信息(signature)。
Signature=sign(Authentication)
本发明的身份认证方法一实施例中,步骤S6,Web应用端从创建连接器(Web3Provider)获取签名信息(signature),并将签名信息(signature)和第一用户标识符(identification1)发送给Web服务端,包括:
Web应用端从创建连接器(Web3 Provider)获取签名信息(signature),并将签名信息(signature)、第一用户标识符(identification1)和随机码,构造成消息票据(Tickets),并将消息票据(Tickets)发送给Web服务端。
在此,创建连接器(Web3 Provider)将获取到的签名信息signature、用户标识符(identification1)、随机的Nonce(随机码,用于防止重放攻击)构造消息票据(Tickets)后,发送给Web应用端。随机的Nonce,是为了防止作恶者使用相同的签名再次登录(如果它被泄露),可以确保下次同一用户想要登录时,需要签署一个新的随机的nonce。发送到Web服务端进行解析并验签。
本发明的身份认证方法一实施例中,步骤S7,Web服务端从第二区块链B获取本地保存的用户的公钥,并采用获取到的用户的公钥对签名信息(signature)进行验签,以得到第二用户标识符(identification2),包括:
Web服务端对消息票据中的随机码进行验证,若随机码验证通过,则Web服务端从第二区块链B获取本地保存的用户的公钥,并采用获取到的用户的公钥对消息票据中的签名信息(signature)进行验签,以得到第二用户标识符(identification2)。
在此,本实施例通过先对消息票据中的随机码进行验证,若随机码验证通过,则Web服务端从第二区块链B获取本地保存的用户的公钥,并采用获取到的用户的公钥对消息票据中的签名信息(signature)进行验签;若随机码验证不通过,则不会进行后续的签名信息的验签操作,可以保证验签的可靠性。
根据本发明的另一方面,还提供一种身份认证设备,其中,该设备包括:
web服务端,用于获取异构的第一区块链和第二区块链是否为同一用户的验证请求;基于所述验证请求,从第二区块链提取第一用户标识符,并将第一用户标识符发送给Web应用端;
Web应用端,用于基于第一用户标识符,生成待签名的验证信息;利用由区块链钱包插件注入的创建连接器,向所述第一区块链发送待签名的验证信息;从创建连接器获取签名信息,并将签名信息和第一用户标识符发送给Web服务端;及用于从第二区块链获取第二区块链本地保存的用户的公钥,并采用获取到的用户的公钥对签名信息进行验签,以得到第二用户标识符,并比较验签得到的第二用户标识符和接收到的第一用户标识符是否一致,若一致,则第一区块链和第二区块链属于同一用户;否则,第一区块链和第二区块链属于不同的用户;
第一区块链,用于使用第一区块链上用户的私钥对待签名的验证信息进行签名,以得到签名信息,并将签名信息发送给创建连接器。
进一步的,上述设备中,所述web服务端,用于基于所述验证请求,提取第一区块链的钱包地址信息作为第一用户标识符。
进一步的,上述设备中,所述Web应用端,用于将第一用户标识符和域分隔符,封装成待签名的验证信息。
进一步的,上述设备中,所述第一区块链,用于将用户的公钥发送给所述创建连接器;
所述Web应用端,用于从创建连接器获取用户的公钥,并将用户的公钥发送给Web服务端;
所述Web服务端,用于将用户的公钥发送给属于该用户的其他区块链。
进一步的,上述设备中,所述Web应用端,用于向用户发送签名授权请求;若获取到用户基于签名授权请求到授权信息,则利用由区块链钱包插件注入的创建连接器,向所述第一区块链发送待签名的验证信息。
进一步的,上述设备中,所述Web应用端,用于从创建连接器获取签名信息,并将签名信息、第一用户标识符和随机码,构造成消息票据,并将消息票据发送给Web服务端。
进一步的,上述设备中,所述Web服务端,用于对消息票据中的随机码进行验证,若随机码验证通过,则从第二区块链获取本地保存的用户的公钥,并采用获取到的用户的公钥对消息票据中的签名信息进行验签,以得到第二用户标识符。
根据本发明的另一方面,还提供一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现上述任一项所述的方法。
根据本发明的另一方面,还提供一种用于在网络设备端信息处理的设备,该设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该设备执行上述任一项所述的方法。
综上所述,本发明基于消息签名的身份验证机制比第三方证明所有权更安全,因为钱包利用保存在本地的凭据(公钥和私钥)代替使用第三方管理的身份凭证,被攻击可能更小,增强了隐私性。另外,本发明使用离线签名方案,无需将消息上链同步,消除了使用区块链网络带来的额外开销,也等待上链交易延迟确认,提高了工作效率。而且,本发明一键式认证流程,借助数字钱包浏览器插件(创建连接器)获取跨链公钥、地址,可以实现签名功能,并简化交互流程。
本发明的各设备和存储介质实施例的详细内容,具体可参见各方法实施例的对应部分,在此,不再赘述。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
需要注意的是,本发明可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本发明的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本发明的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本发明的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本发明的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本发明的方法和/或技术方案。而调用本发明的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本发明的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本发明的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

Claims (16)

1.一种身份认证方法,其中,该方法包括:
web服务端获取异构的第一区块链和第二区块链是否为同一用户的验证请求;
web服务端基于所述验证请求,从第二区块链提取第一用户标识符,并将第一用户标识符发送给Web应用端;
Web应用端基于第一用户标识符,生成待签名的验证信息;
Web应用端利用由区块链钱包插件注入的创建连接器,向所述第一区块链发送待签名的验证信息;
所述第一区块链使用第一区块链上用户的私钥对待签名的验证信息进行签名,以得到签名信息,并将签名信息发送给创建连接器;
Web应用端从创建连接器获取签名信息,并将签名信息和第一用户标识符发送给Web服务端;
Web服务端从第二区块链获取第二区块链本地保存的用户的公钥,并采用获取到的用户的公钥对签名信息进行验签,以得到第二用户标识符,并比较验签得到的第二用户标识符和接收到的第一用户标识符是否一致,若一致,则第一区块链和第二区块链属于同一用户;否则,第一区块链和第二区块链属于不同的用户。
2.根据权利要求1所述的方法,其中,web服务端基于所述验证请求,从第二区块链提取第一用户标识符,包括:
web服务端基于所述验证请求,提取第一区块链的钱包地址信息作为第一用户标识符。
3.根据权利要求1所述的方法,其中,Web应用端基于第一用户标识符,生成待签名的验证信息,包括:
Web应用端将第一用户标识符和域分隔符,封装成待签名的验证信息。
4.根据权利要求1所述的方法,其中,Web服务端从第二区块链获取第二区块链本地保存的用户的公钥之前,还包括:
第一区块链将用户的公钥发送给所述创建连接器,Web应用端从创建连接器获取用户的公钥,并将用户的公钥发送给Web服务端,Web服务端将用户的公钥发送给属于该用户的其他区块链。
5.根据权利要求1所述的方法,其中,Web应用端利用由区块链钱包插件注入的创建连接器,向所述第一区块链A发送待签名的验证信息,包括:
Web应用端向用户发送签名授权请求;
若Web应用端获取到用户基于签名授权请求到授权信息,则Web应用端利用由区块链钱包插件注入的创建连接器,向所述第一区块链发送待签名的验证信息。
6.根据权利要求1所述的方法,其中,Web应用端从创建连接器获取签名信息,并将签名信息和第一用户标识符发送给Web服务端,包括:
Web应用端从创建连接器获取签名信息,并将签名信息、第一用户标识符和随机码,构造成消息票据,并将消息票据发送给Web服务端。
7.根据权利要求6所述的方法,其中,Web服务端从第二区块链获取本地保存的用户的公钥,并采用获取到的用户的公钥对签名信息进行验签,以得到第二用户标识符,包括:
Web服务端对消息票据中的随机码进行验证,若随机码验证通过,则Web服务端从第二区块链获取本地保存的用户的公钥,并采用获取到的用户的公钥对消息票据中的签名信息进行验签,以得到第二用户标识符。
8.一种身份认证设备,其中,该设备包括:
web服务端,用于获取异构的第一区块链和第二区块链是否为同一用户的验证请求;基于所述验证请求,从第二区块链提取第一用户标识符,并将第一用户标识符发送给Web应用端;
Web应用端,用于基于第一用户标识符,生成待签名的验证信息;利用由区块链钱包插件注入的创建连接器,向所述第一区块链发送待签名的验证信息;从创建连接器获取签名信息,并将签名信息和第一用户标识符发送给Web服务端;及用于从第二区块链获取第二区块链本地保存的用户的公钥,并采用获取到的用户的公钥对签名信息进行验签,以得到第二用户标识符,并比较验签得到的第二用户标识符和接收到的第一用户标识符是否一致,若一致,则第一区块链和第二区块链属于同一用户;否则,第一区块链和第二区块链属于不同的用户;
第一区块链,用于使用第一区块链上用户的私钥对待签名的验证信息进行签名,以得到签名信息,并将签名信息发送给创建连接器。
9.根据权利要求8所述的设备,其中,所述web服务端,用于基于所述验证请求,提取第一区块链的钱包地址信息作为第一用户标识符。
10.根据权利要求8所述的设备,其中,所述Web应用端,用于将第一用户标识符和域分隔符,封装成待签名的验证信息。
11.根据权利要求8所述的设备,其中,所述第一区块链,用于将用户的公钥发送给所述创建连接器;
所述Web应用端,用于从创建连接器获取用户的公钥,并将用户的公钥发送给Web服务端;
所述Web服务端,用于将用户的公钥发送给属于该用户的其他区块链。
12.根据权利要求8所述的设备,其中,所述Web应用端,用于向用户发送签名授权请求;若获取到用户基于签名授权请求到授权信息,则利用由区块链钱包插件注入的创建连接器,向所述第一区块链发送待签名的验证信息。
13.根据权利要求8所述的设备,其中,所述Web应用端,用于从创建连接器获取签名信息,并将签名信息、第一用户标识符和随机码,构造成消息票据,并将消息票据发送给Web服务端。
14.根据权利要求13所述的方法,其中,所述Web服务端,用于对消息票据中的随机码进行验证,若随机码验证通过,则从第二区块链获取本地保存的用户的公钥,并采用获取到的用户的公钥对消息票据中的签名信息进行验签,以得到第二用户标识符。
15.一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现权利要求1至7中任一项所述的方法。
16.一种用于在网络设备端信息处理的设备,该设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该设备执行权利要求1至7中任一项所述的方法。
CN202210238021.1A 2022-03-10 2022-03-10 身份认证方法及设备 Pending CN114598531A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210238021.1A CN114598531A (zh) 2022-03-10 2022-03-10 身份认证方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210238021.1A CN114598531A (zh) 2022-03-10 2022-03-10 身份认证方法及设备

Publications (1)

Publication Number Publication Date
CN114598531A true CN114598531A (zh) 2022-06-07

Family

ID=81809710

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210238021.1A Pending CN114598531A (zh) 2022-03-10 2022-03-10 身份认证方法及设备

Country Status (1)

Country Link
CN (1) CN114598531A (zh)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10102526B1 (en) * 2017-03-31 2018-10-16 Vijay K. Madisetti Method and system for blockchain-based combined identity, ownership, integrity and custody management
CN109102259A (zh) * 2017-06-21 2018-12-28 北京航空航天大学 支持银行业务的多链架构设计
CN109257342A (zh) * 2018-09-04 2019-01-22 阿里巴巴集团控股有限公司 区块链跨链的认证方法、系统、服务器及可读存储介质
CN110198316A (zh) * 2019-05-30 2019-09-03 全链通有限公司 基于联盟区块链的身份验证方法、设备及存储介质
US20190288854A1 (en) * 2016-09-18 2019-09-19 Cloudminds (Shenzhen) Robotics Systems Co., Ltd. Blockchain-based identity authentication method, device, node and system
CN111539718A (zh) * 2020-01-19 2020-08-14 南京邮电大学 一种基于侧链的区块链跨链身份认证方法
US20200313897A1 (en) * 2019-03-28 2020-10-01 Ebay Inc. Blockchain-based authentication and authorization
CN112184245A (zh) * 2020-09-30 2021-01-05 深圳前海微众银行股份有限公司 一种跨区块链的交易身份确认方法及装置
KR20210029703A (ko) * 2019-09-06 2021-03-16 주식회사 코인플러그 블록체인 토큰 기반의 페이먼트를 수행하는 방법 및 이를 이용한 은행 서버
CN112804354A (zh) * 2021-03-19 2021-05-14 腾讯科技(深圳)有限公司 跨链进行数据传输的方法、装置、计算机设备和存储介质
CN113487321A (zh) * 2021-07-06 2021-10-08 域世安(北京)科技有限公司 基于区块链钱包的身份识别与验证方法及系统
CN113904774A (zh) * 2021-08-27 2022-01-07 重庆小雨点小额贷款有限公司 一种区块链地址认证方法、装置及计算机设备

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190288854A1 (en) * 2016-09-18 2019-09-19 Cloudminds (Shenzhen) Robotics Systems Co., Ltd. Blockchain-based identity authentication method, device, node and system
US10102526B1 (en) * 2017-03-31 2018-10-16 Vijay K. Madisetti Method and system for blockchain-based combined identity, ownership, integrity and custody management
CN109102259A (zh) * 2017-06-21 2018-12-28 北京航空航天大学 支持银行业务的多链架构设计
CN109257342A (zh) * 2018-09-04 2019-01-22 阿里巴巴集团控股有限公司 区块链跨链的认证方法、系统、服务器及可读存储介质
US20200313897A1 (en) * 2019-03-28 2020-10-01 Ebay Inc. Blockchain-based authentication and authorization
CN110198316A (zh) * 2019-05-30 2019-09-03 全链通有限公司 基于联盟区块链的身份验证方法、设备及存储介质
KR20210029703A (ko) * 2019-09-06 2021-03-16 주식회사 코인플러그 블록체인 토큰 기반의 페이먼트를 수행하는 방법 및 이를 이용한 은행 서버
CN111539718A (zh) * 2020-01-19 2020-08-14 南京邮电大学 一种基于侧链的区块链跨链身份认证方法
CN112184245A (zh) * 2020-09-30 2021-01-05 深圳前海微众银行股份有限公司 一种跨区块链的交易身份确认方法及装置
CN112804354A (zh) * 2021-03-19 2021-05-14 腾讯科技(深圳)有限公司 跨链进行数据传输的方法、装置、计算机设备和存储介质
CN113487321A (zh) * 2021-07-06 2021-10-08 域世安(北京)科技有限公司 基于区块链钱包的身份识别与验证方法及系统
CN113904774A (zh) * 2021-08-27 2022-01-07 重庆小雨点小额贷款有限公司 一种区块链地址认证方法、装置及计算机设备

Similar Documents

Publication Publication Date Title
Kumari et al. A secure authentication scheme based on elliptic curve cryptography for IoT and cloud servers
CN109768988B (zh) 去中心化物联网安全认证系统、设备注册和身份认证方法
CN110268678B (zh) 基于pki的认证代理用户的登录方法及利用其的服务器
Kalra et al. Secure authentication scheme for IoT and cloud servers
CN110138560B (zh) 一种基于标识密码和联盟链的双代理跨域认证方法
CN110958111B (zh) 一种基于区块链的电力移动终端身份认证机制
CN101247407B (zh) 网络认证服务系统和方法
CN111552676A (zh) 基于区块链的存证方法、装置、设备及介质
Garg et al. RITS-MHT: Relative indexed and time stamped Merkle hash tree based data auditing protocol for cloud computing
US8751791B2 (en) Method and device for confirming authenticity of a public key infrastructure (PKI) transaction event
CN112733178B (zh) 基于数字证书认证的跨链信任方法、装置、设备以及介质
CN102201915A (zh) 一种基于单点登录的终端认证方法和装置
US20110320359A1 (en) secure communication method and device based on application layer for mobile financial service
CN111131416A (zh) 业务服务的提供方法和装置、存储介质、电子装置
CN113301022A (zh) 基于区块链和雾计算的物联网设备身份安全认证方法
CN109981287A (zh) 一种代码签名方法及其存储介质
CN107480564B (zh) 一种改进的rfid群组认证方法
Srikanth et al. An efficient Key Agreement and Authentication Scheme (KAAS) with enhanced security control for IIoT systems
Kumar et al. Ultra-lightweight blockchain-enabled RFID authentication protocol for supply chain in the domain of 5G mobile edge computing
CN114157693A (zh) 通信设备的上电认证方法、通信模块和服务器
CN111371555A (zh) 一种签名认证方法及系统
CN114598531A (zh) 身份认证方法及设备
CN109327475A (zh) 一种多层身份认证方法、装置、设备及存储介质
CN114826719A (zh) 基于区块链的可信终端认证方法、系统、设备和存储介质
CN112560073A (zh) 验证数据来源可靠性的方法、装置及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination