CN111339509A - 一种基于侧链的区块链跨链身份认证方法 - Google Patents
一种基于侧链的区块链跨链身份认证方法 Download PDFInfo
- Publication number
- CN111339509A CN111339509A CN202010138064.3A CN202010138064A CN111339509A CN 111339509 A CN111339509 A CN 111339509A CN 202010138064 A CN202010138064 A CN 202010138064A CN 111339509 A CN111339509 A CN 111339509A
- Authority
- CN
- China
- Prior art keywords
- message
- tgs
- user
- chain
- parameter
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 30
- 238000012795 verification Methods 0.000 claims abstract description 26
- 238000004364 calculation method Methods 0.000 claims abstract description 4
- 238000009795 derivation Methods 0.000 claims description 3
- 230000004044 response Effects 0.000 claims description 3
- 238000012360 testing method Methods 0.000 claims description 3
- 238000010276 construction Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 abstract description 10
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 238000013475 authorization Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Technology Law (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Development Economics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及一种基于侧链的区块链跨链身份认证方法,包括以下步骤:服务器S通过计算得到Kc,s,还利用公钥KPc验证签名信息(rAuth2,sAuth2),确认验证码Authentication2由用户C产生;服务器S利用私钥KRs解密票据Tickets得到参数Q4和签名信息再利用区块链B中TGS2的公钥KPtgs2验证签名信息服务器S利用密钥Kc,s解密验证码Authentication2,判断随机数Random4的值与Tickets中的参数值一致;当用户C的身份验证完成时,服务器S构造消息M10,利用区块链A中用户C和服务器S的会话密钥对消息M10进行加密。相对现有技术,本发明确保了身份验证过程的有效性和严谨性,在保证跨链交易身份验证的同时,也提高了安全性能。
Description
技术领域
本发明涉及区块链技术领域,特别涉及一种基于侧链的区块链跨链身份认证方法。
背景技术
现有技术的技术方案中,区块链本质上是一个分布式共享账本,其解决的核心问题是如何在没有信用背景的情况下,让点对点网络中互相不信任的双方彼此信任,并能放心的进行交易。在区块链中,某一时间段内的交易经过密码学算法处理后形成区块,以记录交易的确认信息,一个一个的区块相互关联,串联起来就形成了首尾相关的区块链。
区块链中的所有交易都会经历如下五个过程并最终被记录至账本,假设此时区块链中发生A向B转账的交易,具体过程如下:
第一步:用收款人B的公钥加密前一个交易,得到hash值h,付款人A用自己的私钥对h进行加密处理,得到数字签名,并将该签名附加在交易单中,发送给收款人B,这样就成功创建了新的交易;
第二步:付款人A在P2P网络中广播上述交易单给全网其他节点,其他节点将该交易单记入一个区块中;
第三步:每个节点努力计算特点的哈希值,以进行工作量证明,从而获得记账权和相应的奖励;
第四步:第一个计算出结果的节点向全网其他节点广播包含该交易的区块,并附加时间戳,被广播的各节点将该区块进行验证;
第五步:待其他节点验证该区块中所有交易无误后,该区块将被同步至全网所有节点的区块链中,即记入账本。
现有的单链认证技术主要分为以下三个阶段:
第一阶段:客户端C请求认证服务器AS发放访问票据授权服务器TGS的许可票据。AS发回一张加密过的票据,加密密钥由用户口令导出。当响应到达客户端时,客户端提示用户C输入口令,由此产生密钥,并试图对收到的消息解密。若口令正确,票据就能正确恢复。
第二阶段:客户C访问TGS获得访问服务器S的服务许可票据。TGS对收到的许可票据进行解密,通过检查TGS的ID是否存在来验证解密是否成功。然后检查票据生存周期,确保票据不是过期的。最后比较票据中的用户信息与收到的数据包中用户信息是否一致,以此确定用户为合法用户,并发放服务许可票据。
第三阶段:客户C持服务许可票据访问服务器S,并进行相互身份验证。
上述的现有技术方案只能对区块链内的单链交易进行有效身份验证,而对跨链交易需求的用户身份验证不适用。
发明内容
本发明的目的是提供一种基于侧链的区块链跨链身份认证方法,所要解决的技术问题是:现有技术方案只能对区块链内的单链交易进行有效身份验证,而对跨链交易需求的用户身份验证不适用。
本发明解决上述技术问题的技术方案如下:一种基于侧链的区块链跨链身份认证方法,包括以下步骤:
步骤1.区块链B的用户C构造消息Q1,其中利用私钥KRc对Q1进行签名得到签名信息利用消息Q1和签名信息构造消息M1;利用AS1的公钥KRc对消息M1进行加密,将加密后的消息M1发送至区块链A的AS1;
步骤2.AS1用私钥解密消息M1,得到消息Q1和签名信息AS1还用公钥KRc验证签名信息为用户C发出;AS1查找本地数据库,根据消息Q1中的IDc确认用户C存在及合法性;当确认用户C合法后,AS1构造访问TGS1的票据签名信息为AS1用私钥对Q2的签名信息,AS1用TGS1的公钥对票据进行加密,AS1对票据进行签名得签名信息AS1根据访问TGS1的票据地址IDtgs1、随机数Random1+1和签名信息构造消息M2,利用用户C的公钥对消息M2加密,将加密后的消息M2发送至用户C;
步骤3.用户C用私钥KRc对消息M2进行解密,确认解密获得的参数Random1+1为步骤1中消息Q1中的随机数Random1+1,;用户C使用AS1的公钥验证签名信息的正确性;用户C利用地址IDC和随机数Random2构造验证码Authentication1,并用私钥KRc对验证码Authentication1进行签名得到签名信息用户C再利用地址IDtgs2、访问TGS1的票据验证码Authentication1和签名信息构造消息M3;利用TGS1的公钥对消息M3进行加密,将加密后的消息M3发送至TGS1请求跨链访问票据;
步骤4.TGS1用私钥KRtgs1对消息M3进行解密得到票据验证码Authentication1和签名信息利用用户C的公钥KRc验证签名信息的正确性,确认验证码Authentication1是由用户C发出;TGS1用私钥KRtgs1解密访问TGS1的票据得到参数Q2和签名信息TGS1用AS1的公钥验证签名信息确认参数Q2由AS1发出;TGS1使用参数Q2中的参数解密验证码Authentication1得到的参数IDc和参数Random2,比较IDc和Q2中的IDc是一致时,确认票据为用户C所拥有;
TGS1构造跨链访问票据TGS1用私钥KRtgs1对参数Q3进行签名得签名信息TGS1为跨链访问票据进行签名得签名信息TGS1根据利用地址IDtgs2、随机数Random2+1、跨链访问票据和签名信息构造消息M4;TGS1利用用户C的公钥对消息M4进行加密,将加密后的消息M4发送至用户C;
步骤5.用户C用私钥KRc对消息M4进行解密得到参数并确认随机数Random2+1为步骤3中发出的随机数Random2+1;用户C用TGS1的公钥KPtgs1验证签名信息确认跨链访问票据Tickettgs2是由TGS1签发的;用户C用解密跨链访问票据Tickettgs2,得到参数Q3和签名信息并将作为秘密信息进行保存,而参数Q3和参数作为用于零知识证明数据;用户C构造消息M5;消息M5使用区块链B的TGS2的公钥进行加密;并将消息M5发送给区块链B的TGS2;
步骤6.区块链B的TGS2用私钥KRtgs2对消息M5进行解密,得到参数IDRealm,IDs,KPc,Random3,Q3,根据TGS2中保存的关于区块链A的信任值信息,计算出满足零知识证明的参数t和参数e;区块链B的TGS2得到公开参数p和参数g,并选取随机数{n1,n2,...ni,...,ne},i∈[1,e]且ni∈(1,p-1),计算再构造消息M6作为查询,将消息M6发送至用户C;
步骤8.区块链B的TGS2收到消息M7后,取得参数C1,C2,...,Ce;再利用区块链A中TGS1的公钥KPtgs1、参数Q3和参数验证等式是否成立,其中i∈[1,e];当验证等式成立,则判断是否满足零知识证明条件,当不满足零知识证明条件时,则继续选择e个随机数{n1,n2,...ni,...,ne},i∈[1,e],并重复步骤6、步骤7和步骤8;当重复步骤6、步骤7和步骤8后满足零知识证明条件,则区块链B的TGS2基于对区块链A的TGS1信任,确认用户C为合法用户;区块链B的TGS2为用户C构建访问服务的票据访问服务的票据Tickets使用服务器S的公钥进行加密,其中还对TGS2访问服务的票据Tickets进行签名,得签名信息TGS2构造消息M8,将消息M8发生至用户C;
步骤9.用户C用私钥KRc对消息M8进行解密,得到参数验证收到的随机数Random3+1为在步骤5中产生的Random3随机数+1;用户C用TGS2的公钥KRtgs2验证签名信息验证正确,则生成验证码并用私钥KRc对验证码Authentication2签名得到(rAuth2,sAuth2);最后,用户C构造消息M9;利用服务器S的公钥对消息M9进行加密,将加密后的消息M9发送至服务器S;
步骤10.服务器S利用私钥KRs解密消息M9,得到访问服务的票据Tickets、验证码Authentication2、公钥KPc、签名信息(rAuth2,sAuth2)和签名信息服务器S通过计算得到Kc,s,还利用公钥KPc验证签名信息(rAuth2,sAuth2),确认验证码Authentication2由用户C产生;服务器S利用私钥KRs解密票据Tickets得到参数Q4和签名信息再利用区块链B中TGS2的公钥KPtgs2验证签名信息确认访问服务的票据Tickets由TGS2签发;服务器S利用密钥Kc,s解密验证码Authentication2,得到参数IDRealm,Random4,判断随机数Random4的值与Tickets中的参数值一致,确保该票据为初始申请票据的用户C持有;当用户C的身份验证完成时,服务器S构造消息M10,利用区块链A中用户C和服务器S的会话密钥对消息M10进行加密。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步,步骤2中:
其中参数Q3=h(IDtgs2,IDtgs1,IDc),h()表示单向哈希函数;
进一步,步骤9中:
本发明的有益效果是:通过零知识证明算法确保了身份验证过程的有效性和严谨性,在保证跨链交易身份验证的同时,也提高了安全性能,可以有效抵御诸如重放攻击,中间人攻击以及窃听等常见网络攻击。
附图说明
图1为本发明一种基于侧链的区块链跨链身份认证方法中服务器应用模块框图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
侧链与跨链技术
区块链系统从基于POW的比特币,以太坊网络,发展到基于PBFT及DPOS共识算法的联盟链及公链网络,虽然实现了TPS从个位数向万级别的巨大提升,但却以牺牲了一定的“去中心化性”为代价,并不符合区块链系统的核心理念。
伴随着比特币的扩容困境催生了侧链技术。侧链的概念是相对主链而言的。当主链的性能出现瓶颈,或者某些功能无法扩展的时候,把资产转移到侧链上,相关的交易只需要在侧链上执行,从而达到了分担主链的压力,扩展主链的性能和功能的目的。
侧链技术方案主要针对比特币提出。因为比特币的技术架构,本身就有扩展性的不足。比如交易延时长,吞吐量低,不支持图灵完备的智能合约,都是比特币内在的设计缺陷。且这些缺陷必须通过重构比特币基础框架和算法才能解决。
但是考虑到比特币作为市值最大,流通性最高,认可度最广的数字货币,修改其基础架构可能会引起巨大的风险,这决定了比特币很难通过技术升级提高自身的可扩展性。
侧链技术的基本想法是另外启动一条侧链,将比特币资产转移到侧链上,反之也可以将侧链上的资产再转回到比特币。比特币在主链和侧链上的资产可以双向转移,这个过程即资产的双向锚定。
相对于侧链,跨链是指两个或者多个不同链上的资产和状态,通过一个可信机制,互相转移,互相传递,互相交换。在跨链的场景中,链与链之间的关系不仅仅是主-侧的关系,也可以是对等的,链上的资产不仅仅可以双向锚定,也可以通过可变汇率互相兑换,甚至也可以通过智能合约的方式完成交互。为了实现链与链之间的互联互通,首先要设计区块链系统之间的身份认证机制,使得一个区块链可以接收并且验证另一个区块链上的交易。
基于侧链的跨链身份认证
符号解释
Client表示客户端;
AS(Authentication Server)为认证服务器;
KDC(Key Distribution Center)=密钥分发中心
TGT(Ticket Granting Ticket)=票据授权票据
TGS(Ticket Granting Server)=票据授权服务器
Ek{M}表示密钥K加密信息M;
Random表示防止重放攻击设置的随机数;
KP,KR分别表示公钥和私钥;
Kx,y表示x和y共享的会话密钥;
(rM,sM)表示对信息M的签名;
Tickettgs1表示链内访问许可票据;
Tickets表示跨链访问许可票据;
Tickettgs1表示服务许可票据。
如图1所示,一种基于侧链的区块链跨链身份认证方法,包括以下步骤:
步骤1.区块链B的用户C构造消息Q1,其中利用私钥KRc对Q1进行签名得到签名信息利用消息Q1和签名信息构造消息M1,其中利用AS1的公钥KRc对消息M1进行加密,将加密后的消息M1发送至区块链A的AS1;
步骤2.AS1用私钥解密消息M1,得到消息Q1和签名信息AS1还用公钥KRc验证签名信息为用户C发出;AS1查找本地数据库,根据消息Q1中的IDc确认用户C存在及合法性;当确认用户C合法后,AS1构造访问TGS1的票据其中 为AS1用私钥对Q2的签名信息,AS1用TGS1的公钥对票据进行加密,AS1对票据进行签名得签名信息AS1根据票据地址IDtgs1、随机数Random1+1和签名信息构造消息M2,其中利用用户C的公钥对消息M2加密,将加密后的消息M2发送至用户C;
步骤3.用户C用私钥KRc对消息M2进行解密,确认解密获得的参数Random1+1为步骤1中消息Q1中的随机数Random1+1,;用户C使用AS1的公钥验证签名信息的正确性;用户C利用地址IDC和随机数Random2构造验证码并用私钥KRc对Authentication1进行签名得到签名信息用户C再利用地址IDtgs2、票据验证码Authentication1和签名信息构造消息M3,其中利用TGS1的公钥对消息M3进行加密,将加密后的消息M3发送至TGS1请求跨链访问票据;
步骤4.TGS1用私钥KRtgs1对消息M3进行解密得到票据验证码Authentication1和签名信息利用用户C的公钥KRc验证签名信息的正确性,确认验证码Authentication1是由用户C发出;TGS1用私钥KRtgs1解密票据得到参数Q2和签名信息TGS1用AS1的公钥验证签名信息确认参数Q2由AS1发出;TGS1使用参数Q2中的参数解密验证码Authentication1得到的参数IDc和参数Random2,比较IDc和Q2中的IDc是一致时,确认票据为用户C所拥有;
TGS1构造跨链访问票据其中参数Q3=h(IDtgs2,IDtgs1,IDc),h()表示单向哈希函数;TGS1用私钥KRtgs1对参数Q3进行签名得签名信息TGS1为跨链访问票据进行签名得签名信息TGS1根据利用地址IDtgs2、随机数Random2+1、跨链访问票据和签名信息构造消息M4,其中消息TGS1利用用户C的公钥对消息M4进行加密,将加密后的消息M4发送至用户C;
步骤5.用户C私钥KRc对消息M4进行解密得到参数并确认随机数Random2+1为步骤3中发出的随机数Random2+1;用户C用TGS1的公钥KPtgs1验证签名信息确认跨链访问票据Tickettgs2是由TGS1签发的;用户C用解密跨链访问票据Tickettgs2,得到参数Q3和签名信息并将作为秘密信息进行保存,而参数Q3和参数作为用于零知识证明数据;用户C构造消息M5,其中消息M5使用区块链B的TGS2的公钥进行加密;并将消息M5发送给区块链B的TGS2;
步骤6.区块链B的TGS2用私钥KRtgs2对消息M5进行解密,得到参数IDRealm,IDs,KPc,Random3,Q3,根据TGS2中保存的关于区块链A的信任值信息,计算出满足零知识证明的参数t和参数e;区块链B的TGS2得到公开参数p和参数g,并选取随机数{n1,n2,...ni,...,ne},i∈[1,e]且ni∈(1,p-1),计算再构造消息M6作为查询,其中将消息M6发送至用户C;
步骤8.区块链B的TGS2收到消息M7后,取得参数C1,C2,...,Ce;再利用区块链A中TGS1的公钥KPtgs1、参数Q3和参数验证等式是否成立,其中i∈[1,e];当验证等式成立,则判断是否满足零知识证明条件,当不满足零知识证明条件时,则继续选择e个随机数{n1,n2,...ni,...,ne},i∈[1,e],并重复步骤6、步骤7和步骤8;当重复步骤6、步骤7和步骤8后满足零知识证明条件,则区块链B的TGS2基于对区块链A的TGS1信任,确认用户C为合法用户;区块链B的TGS2为用户C构建访问服务的票据访问服务的票据Tickets使用服务器S的公钥进行加密,其中还对TGS2访问服务的票据Tickets进行签名,得签名信息TGS2构造消息M8,其中将消息M8发生至用户C;
步骤9.用户C用私钥KRc对消息M8进行解密,得到参数验证收到的随机数Random3+1为在步骤5中产生的Random3随机数+1;用户C用TGS2的公钥KRtgs2验证签名信息验证正确,则生成验证码并用私钥KRc对验证码Authentication2签名得到(rAuth2,sAuth2);最后,用户C构造消息M9,其中利用服务器S的公钥对消息M9进行加密,将加密后的消息M9发送至服务器S;
步骤10.服务器S利用私钥KRs解密消息M9,得到访问服务的票据Tickets、验证码Authentication2、公钥KPc、签名信息(rAuth2,sAuth2)和签名信息服务器S通过计算得到Kc,s,还利用公钥KPc验证签名信息(rAuth2,sAuth2),确认验证码Authentication2由用户C产生;服务器S利用私钥KRs解密票据Tickets得到参数Q4和其中再利用区块链B中TGS2的公钥KPtgs2验证签名信息确认访问服务的票据Tickets由TGS2签发;服务器S利用密钥Kc,s解密验证码Authentication2,得到参数IDRealm,Random4,判断随机数Random4的值与Tickets中的参数值一致,确保该票据为初始申请票据的用户C持有;当用户C的身份验证完成时,服务器S构造消息利用区块链A中用户C和服务器S的会话密钥对消息M10进行加密。
安全性分析
一种基于侧链的区块链跨链身份认证方法提供了基本的身份认证信任机制,保证了跨链交易过程中的安全性,具体分析如下:
重放攻击,在跨链身份认证过程中,由于身份认证过程需严格满足零知识证明条件,整个链与链之间交互过程中的信息都不包含用户的私密信息,就算攻击者可以重发其中某几步攻击,也无法获取更多有价值的信息;此外,在加解密阶段引入随机数,使得接收方能够确认收到的消息是否为自己所发送,避免了时钟同步带来的干扰。
中间人攻击,由于整个系统采用了数字签名及零知识证明方法,使得接受者可以确认信息是否为原始发送方所发送,从而杜绝了中间人存在的可能性。
合谋攻击,由于采用了严格的零知识证明机制,用户在向其他链证明自己身份的同时,并不需要提交与自己身份信息相关的私密信息,这样可以有效避免合谋攻击的发生。
窃听,由于用户和应用服务器之间的会话密钥由此二者自行协商,因此在会话过程中杜绝了窃听的可能性。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于侧链的区块链跨链身份认证方法,其特征在于,包括以下步骤:
步骤1.区块链B的用户C构造消息Q1,其中利用私钥KRc对Q1进行签名得到签名信息利用消息Q1和签名信息构造消息M1;利用AS1的公钥KRc对消息M1进行加密,将加密后的消息M1发送至区块链A的AS1;
步骤2.AS1用私钥解密消息M1,得到消息Q1和签名信息AS1还用公钥KRc验证签名信息为用户C发出;AS1查找本地数据库,根据消息Q1中的IDc确认用户C存在及合法性;当确认用户C合法后,AS1构造访问TGS1的票据签名信息为AS1用私钥对Q2的签名信息,AS1用TGS1的公钥对票据进行加密,AS1对票据进行签名得签名信息AS1根据访问TGS1的票据地址IDtgs1、随机数Random1+1和签名信息构造消息M2,利用用户C的公钥对消息M2加密,将加密后的消息M2发送至用户C;
步骤3.用户C用私钥KRc对消息M2进行解密,确认解密获得的参数Random1+1为步骤1中消息Q1中的随机数Random1+1,;用户C使用AS1的公钥验证签名信息的正确性;用户C利用地址IDC和随机数Random2构造验证码Authentication1,并用私钥KRc对验证码Authentication1进行签名得到签名信息用户C再利用地址IDtgs2、访问TGS1的票据验证码Authentication1和签名信息构造消息M3;利用TGS1的公钥对消息M3进行加密,将加密后的消息M3发送至TGS1请求跨链访问票据;
步骤4.TGS1用私钥KRtgs1对消息M3进行解密得到票据验证码Authentication1和签名信息利用用户C的公钥KRc验证签名信息的正确性,确认验证码Authentication1是由用户C发出;TGS1用私钥KRtgs1解密访问TGS1的票据得到参数Q2和签名信息TGS1用AS1的公钥验证签名信息确认参数Q2由AS1发出;TGS1使用参数Q2中的参数解密验证码Authentication1得到的参数IDc和参数Random2,比较IDc和Q2中的IDc是一致时,确认票据为用户C所拥有;
TGS1构造跨链访问票据TGS1用私钥KRtgs1对参数Q3进行签名得签名信息TGS1为跨链访问票据进行签名得签名信息TGS1根据利用地址IDtgs2、随机数Random2+1、跨链访问票据和签名信息构造消息M4;TGS1利用用户C的公钥对消息M4进行加密,将加密后的消息M4发送至用户C;
步骤5.用户C用私钥KRc对消息M4进行解密得到参数Random2+1,Tickettgs2,并确认随机数Random2+1为步骤3中发出的随机数Random2+1;用户C用TGS1的公钥KPtgs1验证签名信息确认跨链访问票据Tickettgs2是由TGS1签发的;用户C用解密跨链访问票据Tickettgs2,得到参数Q3和签名信息并将作为秘密信息进行保存,而参数Q3和参数作为用于零知识证明数据;用户C构造消息M5;消息M5使用区块链B的TGS2的公钥进行加密;并将消息M5发送给区块链B的TGS2;
步骤6.区块链B的TGS2用私钥KRtgs2对消息M5进行解密,得到参数IDRealm,IDs,KPc,Random3,Q3,根据TGS2中保存的关于区块链A的信任值信息,计算出满足零知识证明的参数t和参数e;区块链B的TGS2得到公开参数p和参数g,并选取随机数{n1,n2,...ni,...,ne},i∈[1,e]且ni∈(1,p-1),计算i∈[1,e];再构造消息M6作为查询,将消息M6发送至用户C;
步骤7.用户C收到消息M6后,取得参数T1,T2,...,Te,从第三方获取公开参数p和参数g,并使用秘密信息计算i∈[1,e];再构造消息M7作为对消息M6的对应,将消息M7发送至区块链B的TGS2;
步骤8.区块链B的TGS2收到消息M7后,取得参数C1,C2,...,Ce;再利用区块链A中TGS1的公钥KPtgs1、参数Q3和参数验证等式是否成立,其中i∈[1,e];当验证等式成立,则判断是否满足零知识证明条件,当不满足零知识证明条件时,则继续选择e个随机数{n1,n2,...ni,...,ne},i∈[1,e],并重复步骤6、步骤7和步骤8;当重复步骤6、步骤7和步骤8后满足零知识证明条件,则区块链B的TGS2基于对区块链A的TGS1信任,确认用户C为合法用户;区块链B的TGS2为用户C构建访问服务的票据访问服务的票据Tickets使用服务器S的公钥进行加密,其中还对TGS2访问服务的票据Tickets进行签名,得签名信息TGS2构造消息M8,将消息M8发生至用户C;
步骤9.用户C用私钥KRc对消息M8进行解密,得到参数Random3+1,Tickets,验证收到的随机数Random3+1为在步骤5中产生的Random3随机数+1;用户C用TGS2的公钥KRtgs2验证签名信息验证正确,则生成验证码并用私钥KRc对验证码Authentication2签名得到(rAuth2,sAuth2);最后,用户C构造消息M9;利用服务器S的公钥对消息M9进行加密,将加密后的消息M9发送至服务器S;
步骤10.服务器S利用私钥KRs解密消息M9,得到访问服务的票据Tickets、验证码Authentication2、公钥KPc、签名信息(rAuth2,sAuth2)和签名信息服务器S通过计算得到Kc,s,还利用公钥KPc验证签名信息(rAuth2,sAuth2),确认验证码Authentication2由用户C产生;服务器S利用私钥KRs解密票据Tickets得到参数Q4和签名信息再利用区块链B中TGS2的公钥KPtgs2验证签名信息确认访问服务的票据Tickets由TGS2签发;服务器S利用密钥Kc,s解密验证码Authentication2,得到参数IDRealm,Random4,判断随机数Random4的值与Tickets中的参数值一致,确保该票据为初始申请票据的用户C持有;当用户C的身份验证完成时,服务器S构造消息M10,利用区块链A中用户C和服务器S的会话密钥对消息M10进行加密。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010138064.3A CN111339509A (zh) | 2020-03-03 | 2020-03-03 | 一种基于侧链的区块链跨链身份认证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010138064.3A CN111339509A (zh) | 2020-03-03 | 2020-03-03 | 一种基于侧链的区块链跨链身份认证方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111339509A true CN111339509A (zh) | 2020-06-26 |
Family
ID=71182121
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010138064.3A Pending CN111339509A (zh) | 2020-03-03 | 2020-03-03 | 一种基于侧链的区块链跨链身份认证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111339509A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113010861A (zh) * | 2021-03-16 | 2021-06-22 | 支付宝(杭州)信息技术有限公司 | 一种基于区块链的融资事务中的身份验证方法和系统 |
CN114430329A (zh) * | 2020-10-15 | 2022-05-03 | 中国移动通信集团浙江有限公司 | 一种数据鉴权认证方法、鉴权侧链节点及系统 |
CN114513526A (zh) * | 2020-10-26 | 2022-05-17 | 北京荷月科技有限公司 | 一种跨链访问数据的方法、系统以及第一区块链 |
CN116049802A (zh) * | 2023-03-31 | 2023-05-02 | 深圳竹云科技股份有限公司 | 应用单点登陆方法、系统、计算机设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019052286A1 (zh) * | 2017-09-12 | 2019-03-21 | 广州广电运通金融电子股份有限公司 | 基于区块链的用户身份验证方法、装置及系统 |
CN110505058A (zh) * | 2019-08-20 | 2019-11-26 | 西安电子科技大学 | 跨链场景下异构区块链的身份认证方法 |
CN111539718A (zh) * | 2020-01-19 | 2020-08-14 | 南京邮电大学 | 一种基于侧链的区块链跨链身份认证方法 |
-
2020
- 2020-03-03 CN CN202010138064.3A patent/CN111339509A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019052286A1 (zh) * | 2017-09-12 | 2019-03-21 | 广州广电运通金融电子股份有限公司 | 基于区块链的用户身份验证方法、装置及系统 |
CN110505058A (zh) * | 2019-08-20 | 2019-11-26 | 西安电子科技大学 | 跨链场景下异构区块链的身份认证方法 |
CN111539718A (zh) * | 2020-01-19 | 2020-08-14 | 南京邮电大学 | 一种基于侧链的区块链跨链身份认证方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114430329A (zh) * | 2020-10-15 | 2022-05-03 | 中国移动通信集团浙江有限公司 | 一种数据鉴权认证方法、鉴权侧链节点及系统 |
CN114430329B (zh) * | 2020-10-15 | 2024-03-19 | 中国移动通信集团浙江有限公司 | 一种数据鉴权认证方法、鉴权侧链节点及系统 |
CN114513526A (zh) * | 2020-10-26 | 2022-05-17 | 北京荷月科技有限公司 | 一种跨链访问数据的方法、系统以及第一区块链 |
CN113010861A (zh) * | 2021-03-16 | 2021-06-22 | 支付宝(杭州)信息技术有限公司 | 一种基于区块链的融资事务中的身份验证方法和系统 |
CN116049802A (zh) * | 2023-03-31 | 2023-05-02 | 深圳竹云科技股份有限公司 | 应用单点登陆方法、系统、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11842317B2 (en) | Blockchain-based authentication and authorization | |
CN111539718B (zh) | 一种基于侧链的区块链跨链身份认证方法 | |
CN111083131B (zh) | 一种用于电力物联网感知终端轻量级身份认证的方法 | |
CN113194469B (zh) | 基于区块链的5g无人机跨域身份认证方法、系统及终端 | |
CN106878318B (zh) | 一种区块链实时轮询云端系统 | |
CN108768652B (zh) | 一种可抗量子攻击的联盟区块链底层加密方法 | |
CN110959163B (zh) | 能够在多个存储节点上安全存储大型区块链的计算机实现的系统和方法 | |
CN111339509A (zh) | 一种基于侧链的区块链跨链身份认证方法 | |
Feng et al. | An efficient privacy-preserving authentication model based on blockchain for VANETs | |
CN113301022B (zh) | 基于区块链和雾计算的物联网设备身份安全认证方法 | |
Xue et al. | A distributed authentication scheme based on smart contract for roaming service in mobile vehicular networks | |
CN111163109B (zh) | 区块链去中心式节点防仿冒方法 | |
CN109861956B (zh) | 基于状态通道的数据验证系统、方法、装置及设备 | |
CN114036539A (zh) | 基于区块链的安全可审计物联网数据共享系统及方法 | |
CN103905384A (zh) | 基于安全数字证书的嵌入式终端间会话握手的实现方法 | |
Xu et al. | Authentication‐Based Vehicle‐to‐Vehicle Secure Communication for VANETs | |
EP3707853B1 (en) | Conducting secure interactions utilizing reliability information | |
CN115345618B (zh) | 基于混合后量子数字签名的区块链交易验证方法及系统 | |
CN113468570A (zh) | 基于智能合约的隐私数据共享方法 | |
CN113162907A (zh) | 一种基于区块链的属性基访问控制方法及系统 | |
Kara et al. | VoIPChain: A decentralized identity authentication in Voice over IP using Blockchain | |
Dwivedi et al. | Design of blockchain and ECC-based robust and efficient batch authentication protocol for vehicular ad-hoc networks | |
CN117375797A (zh) | 基于区块链与零知识证明的匿名认证与车载信息共享方法 | |
CN115865426B (zh) | 隐私求交方法和装置 | |
CN111353780A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20200626 |
|
WD01 | Invention patent application deemed withdrawn after publication |