CN111010381B - 一种基于跨链的身份认证方法和系统 - Google Patents
一种基于跨链的身份认证方法和系统 Download PDFInfo
- Publication number
- CN111010381B CN111010381B CN201911237493.XA CN201911237493A CN111010381B CN 111010381 B CN111010381 B CN 111010381B CN 201911237493 A CN201911237493 A CN 201911237493A CN 111010381 B CN111010381 B CN 111010381B
- Authority
- CN
- China
- Prior art keywords
- transaction request
- verification code
- blockchain network
- module
- user
- 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.)
- Active
Links
Images
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
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/083—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明公开了一种基于跨链的身份认证方法,其是针对区块链在不使用私钥的情况下进行跨链身份认证的方式,属于区块链技术领域,包括:提出一种公开透明的跨链身份认证方式,用户在发出跨链身份认证请求以后,可以根据预存的信息进行跨链身份认证,同时保证身份认证整个流程均被监管。本发明使用第三方信道进行验证,用户只需要通过自己的好友关系与自己的第三方信道(手机、邮箱等)获取验证码,不需要记忆私钥或复杂的口令,从而一方面减少了用户的记忆成本,另一方面避免用户因遗忘自己的私钥造成用户无法实现身份认证,使得本发明能增强用户体验,让用户操作更方便。
Description
技术领域
本发明属于区块链技术领域,更具体地,涉及一种基于跨链的身份认证方法和系统。
背景技术
区块链技术,又称为“分布式账本技术”,是一种去中心化、集体维护分布式账本的技术方案,其本质是由多个节点集体参与通过多方存储、多方计算的方式来实现数据不可篡改、计算结果可信的分布式数据库系统。区块链不是一种单一的技术,而是多种技术整合的结果,利用区块链技术维护一个可靠的、难以篡改的账本记录,可以降低信任的风险,并能有效的降低众参与方协作的维护成本。
在如今的区块链交易系统中,当用户在进行跨链交易时,发起跨链身份认证这一过程都需要用户输入自己的私钥,而用户出于安全的考虑,私钥往往被设置成比较复杂,但过于复杂冗长的私钥往往导致用户难以记住,因此这会造成用户使用不便的问题。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种基于跨链的身份认证方法和系统,其目的在于,解决现有区块链交易系统的跨链身份认证过程中由于用户私钥冗长复杂导致用户难以记住,进而造成用户使用不便的技术问题。
为实现上述目的,按照本发明的一个方面,提供了一种基于跨链的身份认证方法,包括以下步骤:
(1)客户端分别在区块链网络的主链和侧链上建立智能合约;
(2)客户端在向区块链网络注册时发送第一交易请求,第一交易请求包括操作客户端的用户的第三方信道、用户的好友在区块链网络中的信息、最低验证码匹配个数n、以及指定验证码个数N;
(3)客户端向区块链网络发送第二交易请求,第二交易请求中包括身份认证请求以及客户端在向区块链网络注册时提交的第一交易请求的地址;
(4)区块链网络中的节点根据来自客户端的第二交易请求生成验证码,为该验证码设置验证码编号,根据验证码和验证码编号构造第三交易请求,并将该第三交易请求发送到区块链网络;
(5)区块链网络中的节点根据接收到的第三交易请求构造多个第三交易请求,直到第三交易请求的总数等于指定验证码个数为止,并将所有第三交易请求发送到区块链网络;
(6)客户端持续从用户的第三方信道和好友获取验证码,并判断获取的验证码数目是否大于或等于最低验证码匹配个数,若是则转入步骤(7),否则继续重复步骤(6);
(7)客户端将从用户的第三方信道和好友获取的所有验证码、以及所有第三交易请求的地址打包成第四交易请求,并将该第四交易请求发送到区块链网络;
(8)区块链网络中的节点对第四交易请求进行解析,以获取所有第三交易请求的地址和所有验证码,根据所有第三交易请求的地址获取各个验证码的哈希值,根据各个验证码的哈希值对对应的验证码进行校验,并判断通过校验的验证码的总数是否大于等于最低验证码匹配个数,如果是则转入步骤(9),否则过程结束。
(9)区块链网络中的节点触发区块链网络的主链上的智能合约,以在主链上完成对第二交易请求中身份认证请求的处理将处理结果发送到区块链网络的侧链,并判断是否接收到来自区块链网络的侧链的身份认证信息,如果是则说明侧链上对第二交易请求中身份认证请求的处理已完成,进入步骤(10),否则表示用户的身份认证失败,过程结束;
(10)区块链网络中的节点告知用户对第二交易请求中身份认证请求的处理已经完成,在区块链网络的侧链上执行第二交易请求中所包含的指令。
优选地,最低验证码匹配个数n、以及指定验证码个数N需要满足以下关系:N≥n。
优选地,步骤(4)包括以下子步骤:
(4-1)区块链网络中的节点随机生成一个验证码,并从第二交易请求中解析出第一交易请求的地址,根据该地址判断选择用户的好友在区块链网络中的信息,还是选择用户的第三方信道,如果选择前者,则进入步骤(4-2),如果选择后者,则进入步骤(4-3);
(4-2)区块链网络中的节点使用该好友在区块链网络中的信息中的公钥对验证码进行加密,并将加密结果发送给该好友,并将第二交易请求的地址、加密结果、以及验证码编号(其取值为1)打包成第三交易请求,然后转入步骤(4-4);
(4-3)区块链网络中的节点将步骤(4-1)中生成的验证码发送给用户的第三方信道,并将第二交易请求的地址、验证码的哈希值、以及验证码编号打包成第三交易请求,然后转入步骤(4-4);
(4-4)区块链网络中的节点将该第三交易请求发送到区块链网络。
优选地,步骤(5)包括以下子步骤:
(5-1)区块链网络中的节点设置计数器i=1;
(5-2)区块链网络中的节点判断计数器i是否大于指定验证码个数,如果大于则过程结束,否则进入步骤(5-3);
(5-3)区块链网络中的节点随机生成一个验证码,并从接收到的第三交易请求中解析出第二交易请求的地址,根据第二交易请求的地址获取第一交易请求的地址,根据该第一交易请求的地址判断选择用户的好友在区块链网络中的信息,还是选择用户的第三方信道,如果选择前者,则进入步骤(5-4),如果选择后者,则进入步骤(5-5);
(5-4)区块链网络中的节点使用该好友在区块链网络中的信息中的公钥对验证码进行加密,并将加密结果发送给该好友,并将第三交易请求的地址、加密结果、以及当前验证码编号i+1打包成第三交易请求,然后转入步骤(5-6);
(5-5)区块链网络中的节点将步骤(5-1)中生成的验证码发送给用户的第三方信道,并将第三交易请求的地址、验证码的哈希值、以及验证码编号i+1打包成第三交易请求,然后转入步骤(5-6);
(5-6)区块链网络中的节点将步骤(5-5)得到的第三交易请求发送到区块链网络,设置i=i+1,并返回步骤(5-2)。
按照本发明的另一方面,提供了一种基于跨链的身份认证系统,包括:
第一模块,其设置于客户端中,用于分别在区块链网络的主链和侧链上建立智能合约;
第二模块,其设置于客户端中,用于在向区块链网络注册时发送第一交易请求,第一交易请求包括操作客户端的用户的第三方信道、用户的好友在区块链网络中的信息、最低验证码匹配个数n、以及指定验证码个数N;
第三模块,其设置于客户端中,用于向区块链网络发送第二交易请求,第二交易请求中包括目的交易方、交易金额、以及客户端在向区块链网络注册时提交的第一交易请求的地址;
第四模块,其设置于区块链网络中的节点中,用于根据来自客户端的第二交易请求生成验证码,为该验证码设置验证码编号,根据验证码和验证码编号构造第三交易请求,并将该第三交易请求发送到区块链网络;
第五模块,其设置于区块链网络中的节点中,用于根据接收到的第三交易请求构造多个第三交易请求,直到第三交易请求的总数等于指定验证码个数为止,并将所有第三交易请求发送到区块链网络;
第六模块,其设置于客户端中,用于持续从用户的第三方信道和好友获取验证码,并判断获取的验证码数目是否大于或等于最低验证码匹配个数,若是则转入第七模块,否则继续重复第六模块;
第七模块,其设置于客户端中,用于将从用户的第三方信道和好友获取的所有验证码、以及所有第三交易请求的地址打包成第四交易请求,并将该第四交易请求发送到区块链网络;
第八模块,其设置于区块链网络中的节点中,用于对第四交易请求进行解析,以获取所有第三交易请求的地址和所有验证码,根据所有第三交易请求的地址获取各个验证码的哈希值,根据各个验证码的哈希值对对应的验证码进行校验,并判断通过校验的验证码的总数是否大于等于最低验证码匹配个数,如果是则转入第九模块,否则过程结束。
第九模块,其设置于区块链网络中的节点中,用于触发区块链网络的主链上的智能合约,以在主链上完成对第二交易请求中身份认证请求的处理将处理结果发送到区块链网络的侧链,并判断是否接收到来自区块链网络的侧链的身份认证信息,如果是则说明侧链上对第二交易请求中身份认证请求的处理已完成,进入第十模块,否则表示用户的身份认证失败,过程结束;
第十模块,其设置于区块链网络中的节点中,用于告知用户对第二交易请求中身份认证请求的处理已经完成,在区块链网络的侧链上执行第二交易请求中所包含的指令。
优选地,最低验证码匹配个数n、以及指定验证码个数N需要满足以下关系:N≥n。
优选地,第四模块包括:
第一子模块,其设置于区块链网络中的节点中,用于随机生成一个验证码,并从第二交易请求中解析出第一交易请求的地址,根据该地址判断选择用户的好友在区块链网络中的信息,还是选择用户的第三方信道,如果选择前者,则进入第二子模块,如果选择后者,则进入第三子模块;
第二子模块,其设置于区块链网络中的节点中,用于使用该好友在区块链网络中的信息中的公钥对验证码进行加密,并将加密结果发送给该好友,并将第二交易请求的地址、加密结果、以及验证码编号(其取值为1)打包成第三交易请求,然后转入第四子模块;
第三子模块,其设置于区块链网络中的节点中,用于将第一子模块生成的验证码发送给用户的第三方信道,并将第二交易请求的地址、验证码的哈希值、以及验证码编号打包成第三交易请求,然后转入第四子模块;
第四子模块,其设置于区块链网络中的节点中,用于将该第三交易请求发送到区块链网络。
优选地,第五模块包括:
第五子模块,其设置于区块链网络中的节点中,用于设置计数器i=1;
第六子模块,其设置于区块链网络中的节点中,用于判断计数器i是否大于指定验证码个数,如果大于则过程结束,否则进入第七子模块;
第七子模块,其设置于区块链网络中的节点中,用于随机生成一个验证码,并从接收到的第三交易请求中解析出第二交易请求的地址,根据第二交易请求的地址获取第一交易请求的地址,根据该第一交易请求的地址判断选择用户的好友在区块链网络中的信息,还是选择用户的第三方信道,如果选择前者,则进入第八子模块,如果选择后者,则进入第九子模块;
第八子模块,其设置于区块链网络中的节点中,用于使用该好友在区块链网络中的信息中的公钥对验证码进行加密,并将加密结果发送给该好友,并将第三交易请求的地址、加密结果、以及当前验证码编号i+1打包成第三交易请求,然后转入第十子模块;
第九子模块,其设置于区块链网络中的节点中,用于将第一子模块中生成的验证码发送给用户的第三方信道,并将第三交易请求的地址、验证码的哈希值、以及验证码编号i+1打包成第三交易请求,然后转入第十子模块;
第十子模块,其设置于区块链网络中的节点中,用于将第九子模块得到的第三交易请求发送到区块链网络,设置i=i+1,并返回第六子模块。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
1、本发明能够解决现有区块链交易过程中跨链交易过程需要用户记忆并输入复杂私钥所带来的使用不便的技术问题:由于本发明采用了步骤(1)、步骤(7)和步骤(9),其使用第三方信道进行验证,用户只需要通过自己的好友关系与自己的第三方信道(手机、邮箱等)获取验证码,不需要记忆私钥或复杂的口令,从而一方面减少了用户的记忆成本,另一方面避免用户因遗忘自己的私钥造成用户无法实现身份认证,使得本发明能增强用户体验,让用户操作更方便;
2、本发明基于跨链技术,实现了简化用户的跨链操作,方便用户获取身份认证信息,并能够实现跨链转账等操作。
附图说明
图1是本发明基于跨链的身份认证方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
以下首先对本发明的技术术语进行解释和说明。
特殊交易:以交易的形式实现其他特殊功能的交易,包括实现发起身份认证请求、发送验证码、验证码校验等功能的交易。
信道:是用于认证用户身份的方式,包括操作客户端的用户的好友信道和用户的第三方信道,其中用户的好友信道指的是用户的好友关系,用户的第三方信道指的是用户的邮箱、或手机号。
如图1所示,本发明提供了一种基于跨链的身份认证方法,包括以下步骤:
(1)客户端分别在区块链网络的主链和侧链上建立智能合约;
具体而言,系统开发者需要在区块链网络的主链和侧链上分别建立智能合约,当操作客户端的用户在主链上完成身份认证以后,区块链网络中的节点会触发在主链上的智能合约,向侧链上的智能合约发送消息,侧链上的智能合约收到来自主链的消息并对消息进行校验,校验通过后则提供用户在侧链上的身份认证。
(2)客户端在向区块链网络注册时发送交易请求X,交易请求X包括操作客户端的用户的第三方信道、用户的好友在区块链网络中的信息(其包括该好友在区块链网络中的地址、以及该好友在区块链网络中的公钥)、最低验证码匹配个数n、以及指定验证码个数N;其中最低验证码匹配个数n、以及指定验证码个数N需要满足以下关系:N≥n;
(3)客户端向区块链网络发送交易请求A,交易请求A中包括身份认证请求、以及客户端在向区块链网络注册时提交的交易请求X的地址;
(4)区块链网络中的节点根据来自客户端的交易请求A生成验证码,为该验证码设置验证码编号,根据验证码和验证码编号构造交易请求B,并将该交易请求B发送到区块链网络;
具体而言,本步骤包括以下子步骤:
(4-1)区块链网络中的节点随机生成一个验证码,并从交易请求A中解析出交易请求X的地址,根据该地址判断选择用户的好友在区块链网络中的信息,还是选择用户的第三方信道,如果选择前者,则进入步骤(4-2),如果选择后者,则进入步骤(4-3);
(4-2)区块链网络中的节点使用该好友在区块链网络中的信息中的公钥对验证码进行加密,并将加密结果发送给该好友,并将交易请求A的地址、加密结果、以及验证码编号(其取值为1)打包成交易请求B,然后转入步骤(4-4);
(4-3)区块链网络中的节点将步骤(4-1)中生成的验证码发送给用户的第三方信道,并将交易请求A的地址、验证码的哈希值、以及验证码编号(其值为1)打包成交易请求B,然后转入步骤(4-4);
(4-4)区块链网络中的节点将该交易请求B发送到区块链网络。
(5)区块链网络中的节点根据接收到的交易请求B构造多个交易请求B,直到交易请求B的总数等于指定验证码个数为止,并将所有交易请求B发送到区块链网络;
具体而言,本步骤包括以下子步骤:
(5-1)区块链网络中的节点设置计数器i=1;
(5-2)区块链网络中的节点判断计数器i是否大于指定验证码个数,如果大于则过程结束,否则进入步骤(5-3);
(5-3)区块链网络中的节点随机生成一个验证码,并从接收到的交易请求B中解析出交易请求A的地址,根据交易请求A的地址获取交易请求X的地址,根据该交易请求X的地址判断选择用户的好友在区块链网络中的信息,还是选择用户的第三方信道,如果选择前者,则进入步骤(5-4),如果选择后者,则进入步骤(5-5);
(5-4)区块链网络中的节点使用该好友在区块链网络中的信息中的公钥对验证码进行加密,并将加密结果发送给该好友,并将交易请求B的地址、加密结果、以及当前验证码编号(其取值为i+1)打包成交易请求B,然后转入步骤(5-6);
(5-5)区块链网络中的节点将步骤(4-1)中生成的验证码发送给用户的第三方信道,并将交易请求B的地址、验证码的哈希值、以及验证码编号(其等于i+1)打包成交易请求B,然后转入步骤(5-6);
(5-6)区块链网络中的节点将步骤(5-5)得到的交易请求B发送到区块链网络,设置i=i+1,并返回步骤(5-2);
(6)客户端持续从用户的第三方信道和好友获取验证码,并判断获取的验证码数目是否大于或等于最低验证码匹配个数,若是则转入步骤(7),否则继续重复步骤(6);
(7)客户端将从用户的第三方信道和好友获取的所有验证码、以及所有交易请求B的地址打包成交易请求C,并将该交易请求C发送到区块链网络;
(8)区块链网络中的节点对交易请求C进行解析,以获取所有交易请求B的地址和所有验证码,根据所有交易请求B的地址获取各个验证码的哈希值,根据各个验证码的哈希值对对应的验证码进行校验,并判断通过校验的验证码的总数是否大于等于最低验证码匹配个数,如果是则转入步骤(9),否则过程结束。
(9)区块链网络中的节点触发区块链网络的主链上的智能合约,以在主链上完成对交易请求A中身份认证请求的处理将处理结果发送到区块链网络的侧链,并判断是否接收到来自区块链网络的侧链的身份认证信息,如果是则说明侧链上对交易请求A中身份认证请求的处理已完成,进入步骤(10),否则表示用户的身份认证失败,过程结束;
(10)区块链网络中的节点告知用户对交易请求A中身份认证请求的处理已经完成,在区块链网络的侧链上执行交易请求A中所包含的指令。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种基于跨链的身份认证方法,其特征在于,该方法包括以下步骤:
(1)客户端分别在区块链网络的主链和侧链上建立智能合约;
(2)客户端在向区块链网络注册时发送第一交易请求,第一交易请求包括操作客户端的用户的第三方信道、用户的好友在区块链网络中的信息、最低验证码匹配个数n、以及指定验证码个数N;
(3)客户端向区块链网络发送第二交易请求,第二交易请求中包括身份认证请求以及客户端在向区块链网络注册时提交的第一交易请求的地址;
(4)区块链网络中的节点根据来自客户端的第二交易请求生成验证码,为该验证码设置验证码编号,根据验证码和验证码编号构造第三交易请求,并将该第三交易请求发送到区块链网络;步骤(4)包括以下子步骤:
(4-1)区块链网络中的节点随机生成一个验证码,并从第二交易请求中解析出第一交易请求的地址,根据该地址判断选择用户的好友在区块链网络中的信息,还是选择用户的第三方信道,如果选择前者,则进入步骤(4-2),如果选择后者,则进入步骤(4-3);
(4-2)区块链网络中的节点使用该好友在区块链网络中的信息中的公钥对验证码进行加密,并将加密结果发送给该好友,并将第二交易请求的地址、加密结果、以及验证码编号打包成第三交易请求,然后转入步骤(4-4),其中验证码编号的取值为1;
(4-3)区块链网络中的节点将步骤(4-1)中生成的验证码发送给用户的第三方信道,并将第二交易请求的地址、验证码的哈希值、以及验证码编号打包成第三交易请求,然后转入步骤(4-4);
(4-4)区块链网络中的节点将该第三交易请求发送到区块链网络;
(5)区块链网络中的节点根据接收到的第三交易请求构造多个第三交易请求,直到第三交易请求的总数等于指定验证码个数为止,并将所有第三交易请求发送到区块链网络;步骤(5)包括以下子步骤:
(5-1)区块链网络中的节点设置计数器i=1;
(5-2)区块链网络中的节点判断计数器i是否大于指定验证码个数,如果大于则过程结束,否则进入步骤(5-3);
(5-3)区块链网络中的节点随机生成一个验证码,并从接收到的第三交易请求中解析出第二交易请求的地址,根据第二交易请求的地址获取第一交易请求的地址,根据该第一交易请求的地址判断选择用户的好友在区块链网络中的信息,还是选择用户的第三方信道,如果选择前者,则进入步骤(5-4),如果选择后者,则进入步骤(5-5);
(5-4)区块链网络中的节点使用该好友在区块链网络中的信息中的公钥对验证码进行加密,并将加密结果发送给该好友,并将第三交易请求的地址、加密结果、以及当前验证码编号i+1打包成第三交易请求,然后转入步骤(5-6);
(5-5)区块链网络中的节点将步骤(4-1)中生成的验证码发送给用户的第三方信道,并将第三交易请求的地址、验证码的哈希值、以及验证码编号i+1打包成第三交易请求,然后转入步骤(5-6);
(5-6)区块链网络中的节点将步骤(5-5)得到的第三交易请求发送到区块链网络,设置i=i+1,并返回步骤(5-2);
(6)客户端持续从用户的第三方信道和好友获取验证码,并判断获取的验证码数目是否大于或等于最低验证码匹配个数,若是则转入步骤(7),否则继续重复步骤(6);
(7)客户端将从用户的第三方信道和好友获取的所有验证码、以及所有第三交易请求的地址打包成第四交易请求,并将该第四交易请求发送到区块链网络;
(8)区块链网络中的节点对第四交易请求进行解析,以获取所有第三交易请求的地址和所有验证码,根据所有第三交易请求的地址获取各个验证码的哈希值,根据各个验证码的哈希值对对应的验证码进行校验,并判断通过校验的验证码的总数是否大于等于最低验证码匹配个数,如果是则转入步骤(9),否则过程结束;
(9)区块链网络中的节点触发区块链网络的主链上的智能合约,以在主链上完成对第二交易请求中身份认证请求的处理将处理结果发送到区块链网络的侧链,并判断是否接收到来自区块链网络的侧链的身份认证信息,如果是则说明侧链上对第二交易请求中身份认证请求的处理已完成,进入步骤(10),否则表示用户的身份认证失败,过程结束;
(10)区块链网络中的节点告知用户对第二交易请求中身份认证请求的处理已经完成,在区块链网络的侧链上执行第二交易请求中所包含的指令。
2.根据权利要求1所述的身份认证方法,其特征在于,最低验证码匹配个数n、以及指定验证码个数N需要满足以下关系:N≥n。
3.一种基于跨链的身份认证系统,其特征在于,包括:
第一模块,其设置于客户端中,用于分别在区块链网络的主链和侧链上建立智能合约;
第二模块,其设置于客户端中,用于在向区块链网络注册时发送第一交易请求,第一交易请求包括操作客户端的用户的第三方信道、用户的好友在区块链网络中的信息、最低验证码匹配个数n、以及指定验证码个数N;
第三模块,其设置于客户端中,用于向区块链网络发送第二交易请求,第二交易请求中包括身份认证请求以及客户端在向区块链网络注册时提交的第一交易请求的地址;
第四模块,其设置于区块链网络中的节点中,用于根据来自客户端的第二交易请求生成验证码,为该验证码设置验证码编号,根据验证码和验证码编号构造第三交易请求,并将该第三交易请求发送到区块链网络;第四模块包括:
第一子模块,其设置于区块链网络中的节点中,用于随机生成一个验证码,并从第二交易请求中解析出第一交易请求的地址,根据该地址判断选择用户的好友在区块链网络中的信息,还是选择用户的第三方信道,如果选择前者,则进入第二子模块,如果选择后者,则进入第三子模块;
第二子模块,其设置于区块链网络中的节点中,用于使用该好友在区块链网络中的信息中的公钥对验证码进行加密,并将加密结果发送给该好友,并将第二交易请求的地址、加密结果、以及验证码编号打包成第三交易请求,然后转入第四子模块,其中验证码编号的取值为1;
第三子模块,其设置于区块链网络中的节点中,用于将第一子模块生成的验证码发送给用户的第三方信道,并将第二交易请求的地址、验证码的哈希值、以及验证码编号打包成第三交易请求,然后转入第四子模块;
第四子模块,其设置于区块链网络中的节点中,用于将该第三交易请求发送到区块链网络;
第五模块,其设置于区块链网络中的节点中,用于根据接收到的第三交易请求构造多个第三交易请求,直到第三交易请求的总数等于指定验证码个数为止,并将所有第三交易请求发送到区块链网络;第五模块包括:
第五子模块,其设置于区块链网络中的节点中,用于设置计数器i=1;
第六子模块,其设置于区块链网络中的节点中,用于判断计数器i是否大于指定验证码个数,如果大于则过程结束,否则进入第七子模块;
第七子模块,其设置于区块链网络中的节点中,用于随机生成一个验证码,并从接收到的第三交易请求中解析出第二交易请求的地址,根据第二交易请求的地址获取第一交易请求的地址,根据该第一交易请求的地址判断选择用户的好友在区块链网络中的信息,还是选择用户的第三方信道,如果选择前者,则进入第八子模块,如果选择后者,则进入第九子模块;
第八子模块,其设置于区块链网络中的节点中,用于使用该好友在区块链网络中的信息中的公钥对验证码进行加密,并将加密结果发送给该好友,并将第三交易请求的地址、加密结果、以及当前验证码编号i+1打包成第三交易请求,然后转入第十子模块;
第九子模块,其设置于区块链网络中的节点中,用于将第一子模块中生成的验证码发送给用户的第三方信道,并将第三交易请求的地址、验证码的哈希值、以及验证码编号i+1打包成第三交易请求,然后转入第十子模块;
第十子模块,其设置于区块链网络中的节点中,用于将第九子模块得到的第三交易请求发送到区块链网络,设置i=i+1,并返回第六子模块;
第六模块,其设置于客户端中,用于持续从用户的第三方信道和好友获取验证码,并判断获取的验证码数目是否大于或等于最低验证码匹配个数,若是则转入第七模块,否则继续重复第六模块;
第七模块,其设置于客户端中,用于将从用户的第三方信道和好友获取的所有验证码、以及所有第三交易请求的地址打包成第四交易请求,并将该第四交易请求发送到区块链网络;
第八模块,其设置于区块链网络中的节点中,用于对第四交易请求进行解析,以获取所有第三交易请求的地址和所有验证码,根据所有第三交易请求的地址获取各个验证码的哈希值,根据各个验证码的哈希值对对应的验证码进行校验,并判断通过校验的验证码的总数是否大于等于最低验证码匹配个数,如果是则转入第九模块,否则过程结束;
第九模块,其设置于区块链网络中的节点中,用于触发区块链网络的主链上的智能合约,以在主链上完成对第二交易请求中身份认证请求的处理将处理结果发送到区块链网络的侧链,并判断是否接收到来自区块链网络的侧链的身份认证信息,如果是则说明侧链上对第二交易请求中身份认证请求的处理已完成,进入第十模块,否则表示用户的身份认证失败,过程结束;
第十模块,其设置于区块链网络中的节点中,用于告知用户对第二交易请求中身份认证请求的处理已经完成,在区块链网络的侧链上执行第二交易请求中所包含的指令。
4.根据权利要求3所述的身份认证系统,其特征在于,最低验证码匹配个数n、以及指定验证码个数N需要满足以下关系:N≥n。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911237493.XA CN111010381B (zh) | 2019-12-06 | 2019-12-06 | 一种基于跨链的身份认证方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911237493.XA CN111010381B (zh) | 2019-12-06 | 2019-12-06 | 一种基于跨链的身份认证方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111010381A CN111010381A (zh) | 2020-04-14 |
CN111010381B true CN111010381B (zh) | 2022-04-22 |
Family
ID=70115672
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911237493.XA Active CN111010381B (zh) | 2019-12-06 | 2019-12-06 | 一种基于跨链的身份认证方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111010381B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111753014B (zh) * | 2020-06-28 | 2023-08-22 | 中国银行股份有限公司 | 基于区块链的身份认证方法及装置 |
CN112163845B (zh) * | 2020-09-29 | 2024-03-22 | 深圳前海微众银行股份有限公司 | 一种跨区块链的交易身份确认方法及装置 |
CN112600905B (zh) * | 2020-12-09 | 2023-04-14 | 杭州复杂美科技有限公司 | 交易广播和区块生成方法、设备和存储介质 |
CN113611014B (zh) * | 2021-07-08 | 2023-07-21 | 国家电网有限公司技术学院分公司 | 一种基于区块链的五防锁具管理方法 |
CN113593090B (zh) * | 2021-07-30 | 2023-07-18 | 国家电网有限公司技术学院分公司 | 一种基于区块链的变电站五防蓝牙锁具系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107911819A (zh) * | 2017-11-30 | 2018-04-13 | 江苏通付盾科技有限公司 | 基于手机号码选取打包节点的方法及系统 |
CN108683630A (zh) * | 2018-04-03 | 2018-10-19 | 阿里巴巴集团控股有限公司 | 跨区块链的认证方法及装置、电子设备 |
CN108881187A (zh) * | 2018-05-31 | 2018-11-23 | 杭州秘猿科技有限公司 | 一种适用于许可链场景的跨链数据传递方法及设备 |
CN110163604A (zh) * | 2019-04-29 | 2019-08-23 | 华中科技大学 | 一种基于多方验证的区块链资产转移方法 |
CN110471986A (zh) * | 2019-07-31 | 2019-11-19 | 阿里巴巴集团控股有限公司 | 基于区块链的票据实名领取方法、装置及电子设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10853772B2 (en) * | 2018-04-04 | 2020-12-01 | Vijay K. Madisetti | Method and system for exchange of value or tokens between blockchain networks |
-
2019
- 2019-12-06 CN CN201911237493.XA patent/CN111010381B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107911819A (zh) * | 2017-11-30 | 2018-04-13 | 江苏通付盾科技有限公司 | 基于手机号码选取打包节点的方法及系统 |
CN108683630A (zh) * | 2018-04-03 | 2018-10-19 | 阿里巴巴集团控股有限公司 | 跨区块链的认证方法及装置、电子设备 |
CN108881187A (zh) * | 2018-05-31 | 2018-11-23 | 杭州秘猿科技有限公司 | 一种适用于许可链场景的跨链数据传递方法及设备 |
CN110163604A (zh) * | 2019-04-29 | 2019-08-23 | 华中科技大学 | 一种基于多方验证的区块链资产转移方法 |
CN110471986A (zh) * | 2019-07-31 | 2019-11-19 | 阿里巴巴集团控股有限公司 | 基于区块链的票据实名领取方法、装置及电子设备 |
Non-Patent Citations (1)
Title |
---|
基于多方验证的区块链数字资产恢复系统;吴朱天;《万方学位论文》;20191204;第2章 * |
Also Published As
Publication number | Publication date |
---|---|
CN111010381A (zh) | 2020-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111010381B (zh) | 一种基于跨链的身份认证方法和系统 | |
CN110912707B (zh) | 基于区块链的数字证书处理方法、装置、设备及存储介质 | |
CN111835520B (zh) | 设备认证的方法、服务接入控制的方法、设备及存储介质 | |
CN110958118B (zh) | 证书认证管理方法、装置、设备及计算机可读存储介质 | |
CN111209334B (zh) | 基于区块链的电力终端数据安全管理方法 | |
CN110311883A (zh) | 身份管理方法、设备、通信网络及存储介质 | |
CN108769230B (zh) | 交易数据存储方法、装置、服务器及存储介质 | |
CN112035889A (zh) | 计算外包的区块链隐私验证方法、装置及计算机设备 | |
CN112651011B (zh) | 运维系统登录验证方法、装置、设备以及计算机存储介质 | |
EP4216077A1 (en) | Blockchain network-based method and apparatus for data processing, and computer device | |
CN104660412A (zh) | 一种移动设备无密码安全认证方法及系统 | |
JP4745965B2 (ja) | インスタント・メッセージ・システムの多数識別子によるログイン方法 | |
CN112910660B (zh) | 区块链系统的证书颁发方法、添加方法及交易处理方法 | |
CN110990790B (zh) | 一种数据处理方法及设备 | |
WO2018010480A1 (zh) | eSIM卡锁网方法、终端及锁网认证服务器 | |
CN109242404A (zh) | 履历信息管理方法、装置、计算机设备与可读存储介质 | |
CN109017676A (zh) | 车辆控制方法、装置及存储介质 | |
CN113901425A (zh) | 一种多方安全求交集的方法、装置、存储介质及设备 | |
CN113420277B (zh) | 基于智能合约的数字身份管理和验证方法 | |
CN112055017A (zh) | 单一账号多应用统一登录方法、装置及计算机设备 | |
WO2020025056A1 (zh) | 安全认证方法、装置和系统,移动终端 | |
CN110910110A (zh) | 一种数据处理方法、装置及计算机存储介质 | |
CN112039837B (zh) | 一种基于区块链和秘密共享的电子证据保全方法 | |
CN104868994B (zh) | 一种协同密钥管理的方法、装置及系统 | |
CN110942316A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220511 Address after: 200041 room 208, No. 137, North Chengdu Road, Jing'an District, Shanghai (community public household) Patentee after: Liu Yu Address before: 571924 1001, floor 1, building A17, Hainan Ecological Software Park, Laocheng high tech industry demonstration zone, Haikou City, Hainan Province Patentee before: Qupai (Hainan) Information Technology Co.,Ltd. |