CN114598533B - 一种区块链侧链跨链身份可信认证及数据加密传输方法 - Google Patents

一种区块链侧链跨链身份可信认证及数据加密传输方法 Download PDF

Info

Publication number
CN114598533B
CN114598533B CN202210240629.8A CN202210240629A CN114598533B CN 114598533 B CN114598533 B CN 114598533B CN 202210240629 A CN202210240629 A CN 202210240629A CN 114598533 B CN114598533 B CN 114598533B
Authority
CN
China
Prior art keywords
chain
transaction
blockchain
vehicle
authentication
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
Application number
CN202210240629.8A
Other languages
English (en)
Other versions
CN114598533A (zh
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.)
Kunming University of Science and Technology
Original Assignee
Kunming University of Science and Technology
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 Kunming University of Science and Technology filed Critical Kunming University of Science and Technology
Priority to CN202210240629.8A priority Critical patent/CN114598533B/zh
Publication of CN114598533A publication Critical patent/CN114598533A/zh
Application granted granted Critical
Publication of CN114598533B publication Critical patent/CN114598533B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • 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
    • 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/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3247Cryptographic 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

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)
  • Storage Device Security (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本发明涉及一种区块链侧链跨链身份可信认证及数据加密传输方法,属于区块链‑可信计算技术领域。本发明建立在使用侧链技术进行跨链信息交互时,使用SM2签名生成以及验证方法对区块链跨链的三方——交易发起方,侧链,交易目的方进行身份可信认证,并使用SM2非对称加密算法,对跨链交易信息进行加密传输。本发明与现有技术相比,主要解决了使用侧链进行跨链交易时的交易发起方区块链,侧链,交易目的方区块链三方的身份不可信以及跨链信息传输时不安全等现象,通过增加SM2签名生成与验证算法用以解决身份不可信问题,通过增加SM2公私钥加/解密算法用以提高跨链信息传输过程的安全性。

Description

一种区块链侧链跨链身份可信认证及数据加密传输方法
技术领域
本发明涉及一种区块链侧链跨链身份可信认证及数据加密传输方法,属于区块链-可信计算技术领域。
背景技术
未来社会发展趋势是一个万物互联的社会,尤其大数据、5G技术兴起后,更让万物互联的观念深入人心,区块链跨链技术也在此互联浪潮中快速发展。随着跨链技术的深入研究,跨链过程中的数据保护以及区块链的可信认证越发的收到关注。
区块链侧链跨链技术因其可扩展性和交互性更强,连接到侧链上的各条区块链都可以通过侧链互相交互,不需要依赖可信第三方就可以完成交易验证,进行数据同步,价值转移等,使跨链行为更加灵活、高效,所以区块链跨链广泛使用的都是侧链跨链技术,但针对侧链跨链数据保护的方法比较匮乏,因此需要一种能够在侧链跨链交易过程中保证跨链双方的身份可信认证以及数据传输保护方法。
专利文献“一种区块链跨链转发系统及其转发方法”公开号CN113111126A,提出了一种区块链跨链转发系统及其转发方法,该方法实现让区块链A将区块标识加进跨链信息中交由中继链认证,中继链认证成功后将跨链信息转发给区块链B以实现跨链信息交互。该方法的不足之处是:1)区块链A与区块链B对中继链是无条件信任的,不需要对中继链的身份进行认证;2)在跨链信息传输过程中使用原文进行传输容易被人窃取,无法保证数据在传输过程中的安全性;
专利文献“分布式跨链系统及跨链信息交互与系统访问控制机制”,公开号CN112003889A,提出了一种基于属性密码体制的分布式跨链系统,以实现跨链客户端同时向不同区块链发起跨链消息,并利用属性密码体制为跨链系统提供细粒度的访问控制机制。该系统实现让跨链发起者通过客户端利用数字签名和椭圆曲线对跨链消息进行签名加密后将密文发送给中继节点,之后中继节利用属性权威机构分发的属性密钥对接收到的密文进行解密,如果属性密钥符合密文的访问结构,那么该密文将解开,否则不能正确解码,中继节点将消息中的跨链证明与接收自属性权威机构的跨链证明进行比对;若两个跨链证明相同,则比对成功,进一步地将跨链消息发送至目标区块链用户使用的跨链客户端,完成信息交互;若两个跨链证明不相同,则对比失败,进一步地丢弃该跨链消息,并将出错信息反馈给对接源区块链的中继节点。该系统的不足之处是:1)跨链发起区块链不去验证中继节点的身份,直接将加密后的数据发送给中继节点交由中继节点验证自己的身份;2)中继节点的认证依赖于外部权威机构;3)中继节点将发起者发送过来的密文解密后,将原文发送给目标区块链,没有进行加密传输。
发明内容
本发明要解决的技术问题是提供一种区块链侧链跨链身份可信认证及数据加密传输方法,用于解决使用侧链技术进行跨链交易时的交易发起方区块链,侧链区块链,交易目的方区块链三方的身份不可信以及跨链信息传输时不安全等现象,通过增加SM2签名生成与验证算法用以解决身份不可信问题,通过增加SM2公私钥加/解密算法用以提高跨链信息传输过程的安全性。
本发明的技术方案是:一种区块链侧链跨链身份可信认证及数据加密传输方法,其特征在于:首先在交易发起方区块链上部署跨链智能合约,所述跨链智能合约至少包括身份认证模块,加密传输模块和交易执行模块;其次,在侧链区块链上部署侧链智能合约,所述侧链智能合约至少包括身份认证模块,加密传输模块和交易验证模块;然后,在交易目的方区块链上部署跨链智能合约,所述跨链智能合约至少包括身份认证模块,加密传输模块和交易执行模块;最后,交易发起方区块链与侧链区块链,侧链区块链与交易目的方区块链之间使用身份认证模块对当前时间戳进行签名并交由对方验证以此来实现双向认证,认证成功后使用加密传输模块将交易信息进行加密后安全的传送到交易目的方区块链,由交易目的方区块链和交易发起方区块链使用交易执行模块对跨链交易进行执行后,侧链区块链使用交易验证模块对本次跨链交易进行验证并生成交易凭证。
具体步骤为:
Step1:交易发起方区块链运行跨链智能合约的身份认证模块,对当前时间戳进行签名并将一个组合数据C发送给侧链区块链;
所述发起方组合数据C=时间戳M+签名S+交易发起方区块链公钥PA发
Step2:侧链区块链上侧链智能合约监听到认证请求之后调用身份认证模块,接收发起方的组合数据C并验证;
具体验证流程为:
Step2.1:首先验证时间戳T是否失效,有效则执行Step2.2,失效则认证失败,给交易发起方区块链返回认证失败信号;
Step2.2:用时间戳T和PA发带入椭圆曲线方程中计算出S发验,并比对S发验与签名S,若S发验与签名S不一致,则认证失败,若一致,则认证成功;
认证成功之后,侧链区块链对当前时间戳T进行签名,生成侧链区块链组合数据C,并将组合数据C返回给交易发起方区块链;
所述侧链组合数据C=时间戳T+签名S+侧链区块链公钥PA侧
Step3:当交易发起方区块链上的跨链智能合约收到侧链区块链的组合数据C后,调用身份验证模块进行验证;
具体验证流程为:
Step3.1:首先验证时间戳T是否失效;有效则执行Step3.2,失效则认证失败,给侧链区块链返回认证失败信号;
Step3.2:用时间戳T和PA侧带入椭圆曲线方程中计算出S侧验,并比对S侧验与签名S,若S侧验与签名S不一致,则认证失败,若一致,则认证成功;
认证成功之后交易发起方调用加密传输模块,使用侧链区块链公钥PA侧对跨链交易信息进行加密,将密文M发送给侧链区块链;
Step4:侧链区块链上的侧链智能合约接收到交易发起方区块链的密文M后,使用加密传输模块对密文进行解密,读取跨链交易信息中的目的方信息,准备侧链区块链的组合数据C侧2并将组合数据C侧2发送给目的方区块链进行身份认证;
所述侧链组合数据C侧2=时间戳T侧2+签名S侧2+侧链区块链公钥PA侧
Step5:交易目的方区块链上的跨链智能合约监听到侧链区块链的身份认证请求后调用身份认证模块,接收侧链区块链的组合数据C侧2并验证;
具体验证流程为:
Step5.1:首先验证时间戳T侧2是否失效,有效则执行Step5.2;失效则认证失败,给侧链区块链返回认证失败信号;
Step5.2:用时间戳T侧2和PA侧带入椭圆曲线方程中计算出S侧验2,并比对S侧验2与签名S侧2,若S侧验2与签名S侧2不一致,则认证失败,若一致,则认证成功;
认证成功之后,交易目的方区块链对当前时间戳T进行签名,生成交易目的方区块链组合数据C,并将组合数据C返回给侧链区块链;
所述组合数据C=当前时间戳T+签名S+交易目的方区块链公钥PA目
Step6:侧链区块链上的侧链智能合约接收交易目的方区块链的组合数据C后进行验证;
具体验证流程为:
Step6.1:首先验证时间戳T是否失效,有效则执行Step6.2;失效则认证失败,给侧链区块链返回认证失败信号;
Step6.2:用时间戳T和PA目带入椭圆曲线方程中计算出S目验,并比对S目验与签名S,若S目验与签名S不一致,则认证失败,若一致,则认证成功;
认证成功之后侧链区块链调用加密传输模块,使用目的方区块链公钥PA目对跨链交易信息进行加密,将密文M发送给交易目的方区块链;
Step7:交易目的方区块链上的跨链智能合约接收到密文M后使用加密传输模块对密文M进行解密,读取跨链交易信息,之后调用交易执行模块执行跨链交易,执行后给侧链区块链发送交易执行完毕信号;
Step8:侧链区块链收到交易目的方的执行完毕信号后,调用交易验证模块使用SPV(简单支付验证)方法对交易目的方执行的跨链交易进行验证,若验证不成功,让交易目的方区块链再次执行;若验证成功,侧链区块链向交易发起方区块链发送交易执行信号;
Step9:交易发起方区块链收到侧链区块链的交易执行信号后,调用交易执行模块执行跨链交易,并给侧链区块链发送交易执行完毕信号;
Step10:侧链区块链收到交易发起方的执行完毕信号后,调用交易验证模块使用SPV(简单支付验证)方法对交易发起方执行的跨链交易进行验证,若验证不成功,让交易发起方区块链再次执行;若验证成功,侧链区块链生成跨链交易凭证完成此次跨链交易。
进一步地,所述身份认证模块包括组合数据C生成模块以及和组合数据C验证模块。
进一步地,所述组合数据C生成模块采用SM2签名生成算法,其算法通过公式1:T*=ZA||T;公式2:e=Hv(T*);公式3:(x1,y1)=[k]G;公式4:r=e+x1 mod n;公式5:s=(1+dA)-1(k-r×dA)mod n,这五个公式计算得到签名S=(r,s),保证签名S不会被其他人伪造,从而确定签名人的身份。其中ZA是特征内置数据,Hv是杂凑函数,k是随机数,G是椭圆曲线上的一个基点,dA是签名者的私钥。
进一步地,所述组合数据C验证模块采用SM2签名验证算法,所述组合数据C验证模块用于实现对当前时间戳T进行验证看是否失效,以及通过公式1:e=Hv(T1),公式2:t=(r+s)modn,公式3:(x,y)=[s]G+[t]PA,和公式4:R=(e+x)modn计算得到R,在比较R与r是否相同,相同则认证成功,否则认证失败,其中Hv为长度是v的密码杂凑函数,T1是使用签名S对时间戳T进行签名后得到的签名值,r与s分别为签名S上的值,G为椭圆上的一个基点,PA为签名者的公钥。
进一步地,所述加密传输模块包括交易信息加密模块以及交易信息解密模块;
进一步地,所述加密传输模块使用SM2非对称加密算法对交易信息进行加解密,其加解密特征在于:M′=C2⊕(dB*C1)=M⊕(k*PB)⊕(k*PB)=M,其中M′为密文,dB为私钥,PB为公钥,k为随机数,C2为C1经过计算得到的数据,C1为M经过计算得到的数据。
发明建立在使用侧链技术进行跨链信息交互时,使用SM2签名生成以及验证方法对区块链跨链的三方——交易发起方,侧链,交易目的方进行身份可信认证,并使用SM2非对称加密算法,对跨链交易信息进行加密传输。
本发明的有益效果是:本发明与现有技术相比,主要解决了使用侧链进行跨链交易时的交易发起方区块链,侧链,交易目的方区块链三方的身份不可信以及跨链信息传输时不安全等现象,通过增加SM2签名生成与验证算法用以解决身份不可信问题,通过增加SM2公私钥加/解密算法用以提高跨链信息传输过程的安全性
附图说明
图1是本发明流程图;
图2是本发明SM2签名算法生成详细流程图;
图3是本发明SM2签名算法验证详细流程图;
图4是本发明SM2加密算法详细流程图。
具体实施方式
下面结合附图和具体实施方式,对本发明作进一步说明。
如图1所示,一种区块链侧链跨链身份可信认证及数据加密传输方法,具体步骤为:
Step1:交易发起方区块链运行跨链智能合约的身份认证模块,对当前时间戳T进行签名并将一个组合数据C发送给侧链区块链;
其中签名生成步骤按附图2所示:
1)调用公式1:T*=ZA||T,使用特征内置数据与时间戳进行杂凑得到T*;
2)调用公式2:e=Hv(T*)对T*进行比特密码杂凑得到e;
3)生成一个随机数k;
4)调用公式3:(x1,y1)=[k]G生成一个椭圆曲线上的坐标点;
5)调用公式4:r=e+x1 mod n计算出r值;
6)利用交易发起方的加密私钥dA,调用公式5:s=(1+dA)-1(k-r×dA)mod n计算出s值;
7)最后得到签名S=(r,s)。
所述发起方组合数据C=时间戳T+签名S+交易发起方区块链公钥PA发
Step2:侧链区块链上侧链智能合约监听到认证请求之后调用身份认证模块,接收发起方的组合数据C并验证;
具体验证流程为:
Step2.1:首先验证时间戳T是否失效,有效则执行Step2.2,失效则认证失败,给交易发起方区块链返回认证失败信号;
Step2.2:用时间戳T和PA发带入椭圆曲线方程中计算出S发验,并比对S发验与签名S,若S发验与签名S不一致,则认证失败,若一致,则认证成功;
其中签名验证步骤按附图3所示:
1)调用公式1:T*=ZA||T,使用特征内置数据与时间戳进行杂凑得到T*;
2)调用公式2:e=Hv(T*)对T*进行比特密码杂凑得到e;
3)调用公式3:t=r+s mod n计算出t的值,其中r与s是签名S的值;
4)利用交易发起方的公钥PA发,调用公式4:(x1,y1)=[s]G+[t]PA计算出椭圆曲线上的一个点;
5)调用公式5:R=e+x1 mod n计算出R值;
6)最后验证R是否等于r来验证签名是否正确。
认证成功之后,侧链区块链对当前时间戳T进行签名,生成侧链区块链组合数据C,并将组合数据C返回给交易发起方区块链;
其中签名生成步骤按附图2所示,
1)调用公式1:T*=ZA||T,使用特征内置数据与时间戳进行杂凑得到T*;
2)调用公式2:e=Hv(T*)对T*进行比特密码杂凑得到e;
3)生成一个随机数k;
4)调用公式3:(x1,y1)=[k]G生成一个椭圆曲线上的坐标点;
5)调用公式4:r=e+x1 mod n计算出r值;
6)利用侧链区块链的加密私钥dA,调用公式5:s=(1+dA)-1(k-r×dA)mod n计算出s值;
7)最后得到签名S=(r,s)。
所述侧链组合数据C=时间戳T+签名S+侧链区块链公钥PA侧
Step3:当交易发起方区块链上的跨链智能合约收到侧链区块链的组合数据C后,调用身份验证模块进行验证;
具体验证流程为:
Step3.1:首先验证时间戳T是否失效;有效则执行Step3.2,失效则认证失败,给侧链区块链返回认证失败信号;
Step3.2:用时间戳T和PA侧带入椭圆曲线方程中计算出S侧验,并比对S侧验与签名S,若S侧验与签名S不一致,则认证失败,若一致,则认证成功;
其中签名验证步骤按附图3所示:
1)调用公式1:T*=ZA||T,使用特征内置数据与时间戳进行杂凑得到T*;
2)调用公式2:e=Hv(T*)对T*进行比特密码杂凑得到e;
3)调用公式3:t=r+s mod n计算出t的值,其中r与s是签名S的值;
4)利用侧链区块链的公钥PA侧,调用公式4:(x1,y1)=[s]G+[t]PA计算出椭圆曲线上的一个点;
5)调用公式5:R=e+x1 mod n计算出R值;
6)最后验证R是否等于r来验证签名是否正确。
认证成功之后交易发起方调用加密传输模块,使用侧链区块链公钥PA侧对跨链交易信息进行加密,将密文M发送给侧链区块链,其中跨链交易信息进行加密步骤按附图4所示;
Step4:侧链区块链上的侧链智能合约接收到交易发起方区块链的密文M后,使用加密传输模块对密文进行解密,读取跨链交易信息中的目的方信息,其中密文M解密步骤按附图4所示,准备侧链区块链的组合数据C侧2并将组合数据C侧2发送给目的方区块链进行身份认证。
其中签名生成步骤按附图2所示,
1)调用公式1:T侧2*=ZA||T侧2,使用特征内置数据与时间戳进行杂凑得到T侧2*;
2)调用公式2:e=Hv(T侧2*)对T侧2*进行比特密码杂凑得到e;
3)生成一个随机数k;
4)调用公式3:(x1,y1)=[k]G生成一个椭圆曲线上的坐标点;
5)调用公式4:r=e+x1 mod n计算出r值;
6)利用侧链区块链的加密私钥dA,调用公式5:s=(1+dA)-1(k-r×dA)mod n计算出s值;
7)最后得到签名S=(r,s)。
所述侧链组合数据C侧2=时间戳T侧2+签名S侧2+侧链区块链公钥PA侧
Step5:交易目的方区块链上的跨链智能合约监听到侧链区块链的身份认证请求后调用身份认证模块,接收侧链区块链的组合数据C侧2并验证;
具体验证流程为:
Step5.1:首先验证时间戳T侧2是否失效,有效则执行Step5.2;失效则认证失败,给侧链区块链返回认证失败信号;
Step5.2:用时间戳T侧2和PA侧带入椭圆曲线方程中计算出S侧验2,并比对S侧验2与签名S侧2,若S侧验2与签名S侧2不一致,则认证失败,若一致,则认证成功;
其中签名验证步骤按附图3所示:
1)调用公式1:T侧2*=ZA||T侧2,使用特征内置数据与时间戳进行杂凑得到T侧2*;
2)调用公式2:e=Hv(T侧2*)对T侧2*进行比特密码杂凑得到e;
3)调用公式3:t=r+s mod n计算出t的值,其中r与s是签名S的值;
4)利用侧链区块链的公钥PA侧,调用公式4:(x1,y1)=[s]G+[t]PA计算出椭圆曲线上的一个点;
5)调用公式5:R=e+x1 mod n计算出R值;
6)最后验证R是否等于r来验证签名是否正确。
认证成功之后,交易目的方区块链对当前时间戳T进行签名,生成交易目的方区块链组合数据C,并将组合数据C返回给侧链区块链;
其中签名生成步骤按附图2所示:
1)调用公式1:T*=ZA||T,使用特征内置数据与时间戳进行杂凑得到T*;
2)调用公式2:e=Hv(T*)对T*进行比特密码杂凑得到e;
3)生成一个随机数k;
4)调用公式3:(x1,y1)=[k]G生成一个椭圆曲线上的坐标点;
5)调用公式4:r=e+x1 mod n计算出r值;
6)利用交易目的方区块链的加密私钥dA,调用公式5:s=(1+dA)-1(k-r×dA)modn计算出s值;
7)最后得到签名S=(r,s)。
所述组合数据C=当前时间戳T+签名S+交易目的方区块链公钥PA目
Step6:侧链区块链上的侧链智能合约接收交易目的方区块链的组合数据C后进行验证;
具体验证流程为:
Step6.1:首先验证时间戳T是否失效,有效则执行Step6.2;失效则认证失败,给侧链区块链返回认证失败信号;
Step6.2:用时间戳T和PA目带入椭圆曲线方程中计算出S目验,并比对S目验与签名S,若S目验与签名S不一致,则认证失败,若一致,则认证成功;
其中签名验证步骤按附图3所示:
1)调用公式1:T*=ZA||T,使用特征内置数据与时间戳进行杂凑得到T*;
2)调用公式2:e=Hv(T*)对T*进行比特密码杂凑得到e;
3)调用公式3:t=r+s mod n计算出t的值,其中r与s是签名S的值;
4)利用交易目的方区块链的公钥PA目,调用公式4:(x1,y1)=[s]G+[t]PA计算出椭圆曲线上的一个点;
5)调用公式5:R=e+x1 mod n计算出R值;
6)最后验证R是否等于r来验证签名是否正确。
认证成功之后侧链区块链调用加密传输模块,使用目的方区块链公钥PA目对跨链交易信息进行加密,将密文M发送给交易目的方区块链,其中跨链交易信息进行加密步骤按附图4所示;
Step7:交易目的方区块链上的跨链智能合约接收到密文M后使用加密传输模块对密文M进行解密,读取跨链交易信息,其中密文M发解密步骤按附图4所示,之后调用交易执行模块执行跨链交易,执行后给侧链区块链发送交易执行完毕信号;
Step8:侧链区块链收到交易目的方的执行完毕信号后,调用交易验证模块使用SPV方法对交易目的方执行的跨链交易进行验证,若验证不成功,让交易目的方区块链再次执行;若验证成功,侧链区块链向交易发起方区块链发送交易执行信号;
Step9:交易发起方区块链收到侧链区块链的交易执行信号后,调用交易执行模块执行跨链交易,并给侧链区块链发送交易执行完毕信号;
Step10:侧链区块链收到交易发起方的执行完毕信号后,调用交易验证模块使用SPV方法对交易发起方执行的跨链交易进行验证,若验证不成功,让交易发起方区块链再次执行;若验证成功,侧链区块链生成跨链交易凭证完成此次跨链交易。
以上结合附图对本发明的具体实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。

Claims (4)

1.一种区块链侧链跨链身份可信认证及数据加密传输方法,其特征在于:首先在交易发起方区块链上部署跨链智能合约,所述跨链智能合约至少包括身份认证模块,加密传输模块和交易执行模块;其次,在侧链区块链上部署侧链智能合约,所述侧链智能合约至少包括身份认证模块,加密传输模块和交易验证模块;然后,在交易目的方区块链上部署跨链智能合约;最后,交易发起方区块链与侧链区块链,侧链区块链与交易目的方区块链之间使用身份认证模块对当前时间戳进行签名并交由对方验证以此来实现双向认证,认证成功后使用加密传输模块将交易信息进行加密后安全的传送到交易目的方区块链,由交易目的方区块链和交易发起方区块链使用交易执行模块对跨链交易进行执行后,侧链区块链使用交易验证模块对本次跨链交易进行验证并生成交易凭证;
具体步骤为:
Step1:交易发起方区块链运行跨链智能合约的身份认证模块,对当前时间戳T进行签名并将一个组合数据C发送给侧链区块链;
所述交易发起方的组合数据C=时间戳T+签名S+交易发起方区块链公钥PA发
Step2:侧链区块链上侧链智能合约监听到认证请求之后调用身份认证模块,接收交易发起方的组合数据C并验证;
Step3:当交易发起方区块链上的跨链智能合约收到侧链区块链的组合数据C后,调用身份验证模块进行验证;
Step4:侧链区块链上的侧链智能合约接收到交易发起方区块链的密文M后,使用加密传输模块对密文进行解密,读取跨链交易信息中的交易目的方信息,准备侧链区块链的组合数据C侧2并将组合数据C侧2发送给交易目的方区块链进行身份认证;
所述侧链区块链的组合数据C侧2=时间戳T侧2+签名S侧2+侧链区块链公钥PA侧
Step5:交易目的方区块链上的跨链智能合约监听到侧链区块链的身份认证请求后调用身份认证模块,接收侧链区块链的组合数据C侧2并验证;
Step6:侧链区块链上的侧链智能合约接收交易目的方区块链的组合数据C后进行验证;
Step7:交易目的方区块链上的跨链智能合约接收到密文M后使用加密传输模块对密文M进行解密,读取跨链交易信息,之后调用交易执行模块执行跨链交易,执行后给侧链区块链发送交易执行完毕信号;
Step8:侧链区块链收到交易目的方的执行完毕信号后,调用交易验证模块使用SPV方法对交易目的方执行的跨链交易进行验证,若验证不成功,让交易目的方区块链再次执行;若验证成功,侧链区块链向交易发起方区块链发送交易执行信号;
Step9:交易发起方区块链收到侧链区块链的交易执行信号后,调用交易执行模块执行跨链交易,并给侧链区块链发送交易执行完毕信号;
Step10:侧链区块链收到交易发起方的执行完毕信号后,调用交易验证模块使用SPV方法对交易发起方执行的跨链交易进行验证,若验证不成功,让交易发起方区块链再次执行;若验证成功,侧链区块链生成跨链交易凭证完成此次跨链交易;
所述Step2具体步骤为:
Step2.1:首先验证时间戳T是否失效,有效则执行Step2.2,失效则认证失败,给交易发起方区块链返回认证失败信号;
Step2.2:用时间戳T和PA发带入椭圆曲线方程中计算出S发验,并比对S发验与签名S,若S发验与签名S不一致,则认证失败,若一致,则认证成功;
认证成功之后,侧链区块链对当前时间戳T进行签名,生成侧链区块链的组合数据C,并将组合数据C返回给交易发起方区块链;
所述侧链区块链的组合数据C=时间戳T+签名S+侧链区块链公钥PA侧
所述Step6具体步骤为:
Step6.1:首先验证时间戳T是否失效,有效则执行Step6.2;失效则认证失败,给侧链区块链返回认证失败信号;
Step6.2:用时间戳T和PA目带入椭圆曲线方程中计算出S目验,并比对S目验与签名S,若S目验与签名S不一致,则认证失败,若一致,则认证成功;
认证成功之后侧链区块链调用加密传输模块,使用目的方区块链公钥PA目对跨链交易信息进行加密,将密文M发送给交易目的方区块链;
所述身份认证模块包括组合数据C生成模块以及和组合数据C验证模块;
所述组合数据C生成模块采用SM2签名生成算法,其算法通过公式1:T*=ZA||T;公式2:e=Hv(T*);公式3:(x1,y1)=[k]G;公式4:r=e+x1 mod n;公式5:s=(1+dA)-1(k-r×dA)mod n,这五个公式计算得到签名S=(r,s),保证签名S不会被其他人伪造,从而确定签名人的身份,其中ZA是特征内置数据,Hv是杂凑函数,k是随机数,G是椭圆曲线上的一个基点,dA是签名者的私钥;
所述组合数据C验证模块采用SM2签名验证算法,所述组合数据C验证模块用于实现对当前时间戳T进行验证看是否失效,以及通过公式1:e=Hv(T1),公式2:t=(r+s)modn,公式3:(x,y)=[s]G+[t]PA,和公式4:R=(e+x)modn计算得到R,在比较R与r是否相同,相同则认证成功,否则认证失败,其中Hv为长度是v的密码杂凑函数,T1是使用签名S对时间戳T进行签名后得到的签名值,r与s分别为签名S上的值,G为椭圆上的一个基点,PA为签名者的公钥。
2.根据权利要求1所述的区块链侧链跨链身份可信认证及数据加密传输方法,其特征在于,所述Step3具体步骤为:
Step3.1:首先验证时间戳T是否失效;有效则执行Step3.2,失效则认证失败,给侧链区块链返回认证失败信号;
Step3.2:用时间戳T和PA侧带入椭圆曲线方程中计算出S侧验,并比对S侧验与签名S,若S侧验与签名S不一致,则认证失败,若一致,则认证成功;
认证成功之后交易发起方调用加密传输模块,使用侧链区块链公钥PA侧对跨链交易信息进行加密,将密文M发送给侧链区块链。
3.根据权利要求1所述的区块链侧链跨链身份可信认证及数据加密传输方法,其特征在于,所述Step5具体步骤为:
Step5.1:首先验证时间戳T侧2是否失效,有效则执行Step5.2;失效则认证失败,给侧链区块链返回认证失败信号;
Step5.2:用时间戳T侧2和PA侧带入椭圆曲线方程中计算出S侧验2,并比对S侧验2与签名S侧2,若S侧验2与签名S侧2不一致,则认证失败,若一致,则认证成功;
认证成功之后,交易目的方区块链对当前时间戳T进行签名,生成交易目的方区块链组合数据C,并将组合数据C返回给侧链区块链;
所述交易目的方区块链组合数据C=当前时间戳T+签名S+交易目的方区块链公钥PA目
4.根据权利要求1所述的区块链侧链跨链身份可信认证及数据加密传输方法,其特征在于:所述加密传输模块包括交易信息加密模块以及交易信息解密模块;
所述加密传输模块使用SM2非对称加密算法对交易信息进行加解密。
CN202210240629.8A 2022-03-10 2022-03-10 一种区块链侧链跨链身份可信认证及数据加密传输方法 Active CN114598533B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210240629.8A CN114598533B (zh) 2022-03-10 2022-03-10 一种区块链侧链跨链身份可信认证及数据加密传输方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210240629.8A CN114598533B (zh) 2022-03-10 2022-03-10 一种区块链侧链跨链身份可信认证及数据加密传输方法

Publications (2)

Publication Number Publication Date
CN114598533A CN114598533A (zh) 2022-06-07
CN114598533B true CN114598533B (zh) 2024-04-26

Family

ID=81817305

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210240629.8A Active CN114598533B (zh) 2022-03-10 2022-03-10 一种区块链侧链跨链身份可信认证及数据加密传输方法

Country Status (1)

Country Link
CN (1) CN114598533B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115396086B (zh) * 2022-06-20 2024-10-01 中国联合网络通信集团有限公司 身份认证方法、装置、设备及存储介质
CN115378942B (zh) * 2022-10-10 2022-12-20 北京理工大学 一种区块链的信息跨链交互方法和交互装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110958229A (zh) * 2019-11-20 2020-04-03 南京理工大学 一种基于区块链的可信身份认证方法
CN111047445A (zh) * 2019-12-11 2020-04-21 深圳区块大陆科技有限公司 一种完全去中心化的侧链跨链方法
CN113098689A (zh) * 2021-02-25 2021-07-09 西安电子科技大学 一种信任建立的跨链共识方法、系统、存储介质及应用
CN113434881A (zh) * 2021-06-29 2021-09-24 北京百度网讯科技有限公司 跨链交易的可信性验证方法、装置及电子设备
CN113923044A (zh) * 2021-10-29 2022-01-11 博雅正链(北京)科技有限公司 一种基于可信执行环境的跨链系统及方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10079682B2 (en) * 2015-12-22 2018-09-18 Gemalto Sa Method for managing a trusted identity

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110958229A (zh) * 2019-11-20 2020-04-03 南京理工大学 一种基于区块链的可信身份认证方法
CN111047445A (zh) * 2019-12-11 2020-04-21 深圳区块大陆科技有限公司 一种完全去中心化的侧链跨链方法
CN113098689A (zh) * 2021-02-25 2021-07-09 西安电子科技大学 一种信任建立的跨链共识方法、系统、存储介质及应用
CN113434881A (zh) * 2021-06-29 2021-09-24 北京百度网讯科技有限公司 跨链交易的可信性验证方法、装置及电子设备
CN113923044A (zh) * 2021-10-29 2022-01-11 博雅正链(北京)科技有限公司 一种基于可信执行环境的跨链系统及方法

Also Published As

Publication number Publication date
CN114598533A (zh) 2022-06-07

Similar Documents

Publication Publication Date Title
CN107948189B (zh) 非对称密码身份鉴别方法、装置、计算机设备及存储介质
US11223486B2 (en) Digital signature method, device, and system
US6058188A (en) Method and apparatus for interoperable validation of key recovery information in a cryptographic system
US7814320B2 (en) Cryptographic authentication, and/or establishment of shared cryptographic keys, using a signing key encrypted with a non-one-time-pad encryption, including (but not limited to) techniques with improved security against malleability attacks
US8130961B2 (en) Method and system for client-server mutual authentication using event-based OTP
GB2623015A (en) Internet-of-vehicles communication security authentication method, system and device based on national cryptographic algorithm
CN110020524B (zh) 一种基于智能卡的双向认证方法
CN114598533B (zh) 一种区块链侧链跨链身份可信认证及数据加密传输方法
CN110113150B (zh) 基于无证书环境的可否认认证的加密方法和系统
CN111769938B (zh) 一种区块链传感器的密钥管理系统、数据验证系统
US20060288224A1 (en) System and method for detecting exposure of ocsp responder's session private key
CN112087428B (zh) 一种基于数字证书的抗量子计算身份认证系统及方法
CN104901935A (zh) 一种基于cpk的双向认证及数据交互安全保护方法
CN111147245A (zh) 一种区块链中使用国家密码进行加密的算法
CN114726546B (zh) 数字身份认证方法、装置、设备和存储介质
CN106713349B (zh) 一种能抵抗选择密文攻击的群组间代理重加密方法
CN112104453A (zh) 一种基于数字证书的抗量子计算数字签名系统及签名方法
CN105049434A (zh) 一种对等网络环境下的身份认证方法与加密通信方法
CN114650173A (zh) 一种加密通讯方法及系统
CN116566607A (zh) 一种适用于城市轨道交通系统网络传输安全加密方法
CN110572257B (zh) 基于身份的数据来源鉴别方法和系统
JP5393594B2 (ja) 効率的相互認証方法,プログラム,及び装置
KR20080005344A (ko) 인증서버가 사용자단말기를 인증하는 시스템
CN112511297B (zh) 一种密钥对和数字证书的更新方法和系统
JP5004086B2 (ja) 短い系列を用いた認証システム

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