一种基于区块链的数据隐蔽传输方法与流程

文档序号:18160027发布日期:2019-07-13 09:17阅读:570来源:国知局
一种基于区块链的数据隐蔽传输方法与流程

本发明涉及数据隐蔽传输领域,特别涉及一种基于区块链的数据隐蔽传输方法。



背景技术:

区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法。区块链的基本特征有去中心化、开放性、自治性、信息不可篡改、匿名性等。

目前,随着社会的不断发展,基于区块链的特征,区块链的应用和研发越来越受到关注。在大数据时代,数据对于个人或者企业都具有非常重要的价值,数据传输的安全性和隐蔽性备受关注。但是在保证数据传输安全的同时,数据传输的隐蔽性还不够,这一缺陷对数据传输过程有着被破坏的风险。



技术实现要素:

针对基于区块链的数据传输过程中隐蔽性问题这一缺陷,本发明提出了一种基于区块链数据隐蔽传输的方法。在保证数据安全传输的同时,能够保证数据内容的隐蔽性。

具体的,本发明提出了以下具体的实施例:

本发明提供了一种提供一种基于区块链数据隐蔽传输的方法,具体操作步骤如下:

(1)发送方获取到接收方的数据隐蔽传输请求后,建立一条私有链。所述私有链中的节点包括发送方和接收方,以及一些受信任的节点;

(2)通过环形签名技术保护发送方的地址;

(3)通过隐形地址技术保护接收方的地址,发送方创建地址并传输加密后的数字摘要和数据;

(4)接收方通过隐形地址技术计算得出的私钥进行解密,得到所述数字摘要和所述数据,对接收到的所述数据通过哈希算法生成新的数字摘要,判断生成的新的数字摘要是否与接收到的所述数字摘要是否相同。

需要说明的是:所述私有链中受信任的节点进入所述私有链的控制方式为:通过智能合约进筛选发送方和接收方共同信任的节点。

需要进一步说明的是:所述私有链中包括的节点特征为:只有发送方和接收方有记账的作用,其他节点为非记账节点,其他节点与记账节点之间是数据同步的关系,非记账节点中的数据部分可见,作为一种法律依据存在。

还需要说明的是:环签名技术包括以下步骤:

步骤一:密钥生成:为环中每个成员产生一个密钥对,环中成员为所述私有链中的所有节点;

步骤二:签名:发送方用自己的私钥和任意n个环成员(包括自己)的公钥为所述数字摘要和所述数据m生成签名;

步骤三:签名验证:接收方根据环签名、所述数字摘要和所述数据m验证签名是否为环中成员所签。

隐形地址技术,包括以下步骤:

步骤一:接收方拥有两个密钥对(s,s)和(b,b),g为椭圆曲线组的基点;

步骤二:发送方生成一个临时密钥对(r,r),其中r=r·g随着交易进行传输;

步骤三:发送方和接收方都使用ecdh计算共享密钥c:c=h(r·s·g)=h(r·s)=h(s·r),其中h(·)是一种加密哈希函数,发送方使用c·g+b作为接收方的临时地址;

步骤四:接收方用两种不同的方式计算相同的目标地址,即c·g+b=(c+b)·g,如果有匹配,则使用相应的私钥c+b来进行解密。

优选地,进一步包括:发送方在传输之前用由ecdh计算共享密钥c对所述数字摘要和所述数据加密。

综上所述,本发明优点如下:

(1)建立了一条新的私有链,通过智能合约对进入私有链的节点进行筛选,此次传输过程对无关节点完全隐蔽;

(2)私有链节点有限,从而便于控制、更安全、数据传输速度更快;

(3)环形签名技术与隐形地址技术相结合,保护了发送方和接收方的地址,使此次传输的隐蔽性更高;

(4)比对数据传输前后由哈希算法生成的数字摘要,验证了数据的安全性,确保了此次传输的可信任度。

附图说明

为了更清楚地说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例。

图1为本发明实施例提出的一种基于区块链的数据隐蔽传输方法的步骤图;

图2为本发明实施例中环签名技术和隐形地址技术结合的流程示意图;

图3为本发明实施例提出的一种基于区块链的数据隐蔽传输方法的流程示意图。

具体实施方式:

下面结合附图与具体实施例对本发明进行详细说明。

实施例1

本发明实施例1公开了一种基于区块链的数据隐蔽传输方法,结合图1和图3所示,包括以下步骤:

步骤101:发送方获取到接收方的数据隐蔽传输请求后,建立一条私有链,所述私有链中的节点包括发送方和接收方,以及一些受信任的节点;

需要说明的是:所述私有链中受信任的节点进入所述私有链的控制方式为:通过智能合约进筛选发送方和接收方共同信任的节点。

进一步需要说明的是:所述私有链中包括的节点特征为:只有发送方和接收方有记账的作用,其他节点为非记账节点,其他节点与记账节点之间是数据同步的关系,非记账节点中的数据部分可见,作为一种法律依据存在。

步骤102:通过环形签名技术保护发送方的地址;

需要说明的是:环签名技术包括以下步骤:

步骤一:密钥生成:为环中每个成员产生一个密钥对,环中成员为所述私有链中的所有节点;

步骤二:签名:发送方用自己的私钥和任意n个环成员(包括自己)的公钥为所述数字摘要和所述数据m生成签名。签名的具体步骤为:

(1)生成对称加密算法的密钥k=h(m),其中h是一种哈希算法;

(2)随机选取一个v值;

(3)选取n个随机值xi作为签名环中单向陷门函数的输入,计算yi=gi(xi);

(4)令ck,v(y1,y2,...,yn)=v,签名者(发送者)的陷门函数输入xs,计算ys=gs(xs),由于签名者(发送者)控制自己的私钥,所以可以求得

(5)组成关于m的环签名:(p1,p2,...,pn;v;x1,x2,...xn),透过这个签名无法知道真正拥有私钥的是ps。

步骤三:签名验证:接收方根据环签名和所述数字摘要和所述数据m验证签名是否为环中成员所签。签名验证的具体步骤为:

(1)通过公钥(p1,p2,...,pn)和yi=gi(xi)相应地对(x1,x2,...xn)加密得到(y1,y2,...,yn);

(2)计算对称加密算法的密钥,即k=h(m);

(3)验证等式ck,v(y1,y2,...,yn)=v是否成立。

步骤103:通过隐形地址技术保护接收方的地址,发送方创建地址并传输加密后的数字摘要和数据;

需要说明的是:隐形地址技术,包括以下步骤:

步骤一:接收方拥有两个密钥对(s,s)和(b,b),g为椭圆曲线组的基点;

步骤二:发送方生成一个临时密钥对(r,r),其中r=r·g随着交易进行传输;

步骤三:发送方和接收方都使用ecdh计算共享密钥c:c=h(r·s·g)=h(r·s)=h(s·r),其中h(·)是一种加密哈希函数,发送方使用c·g+b作为接收方的临时地址;

步骤四:接收方用两种不同的方式计算相同的目标地址,即c·g+b=(c+b)·g,如果有匹配,则使用相应的私钥c+b来进行解密。

需要进一步说明的是:发送方在传输之前用由ecdh计算共享密钥c对所述数字摘要和所述数据加密。

步骤104:接收方通过隐形地址技术计算得出的私钥进行解密,得到所述数字摘要和所述数据,对接收到的所述数据通过哈希算法生成新的数字摘要,判断生成的新的数字摘要是否与接收到的所述数字摘要是否相同;若相同,则接收到的所述数据为安全的,在传输过程中没有被破坏或篡改,隐蔽性良好。若不同,则重新发送请求。

需要补充说明的是:步骤102和步骤103均包含多个分步步骤,不是完全的前后顺序关系,而是环形签名技术与隐形地址技术的结合使用,是一种相对的顺序关系。如图2所示:环形签名技术与隐形地址技术相互嵌入,结合使用,两者的最后验证的步骤均在发送方进行传输操作之后。

以上提供了一种基于区块链的数据隐蔽传输方法,通过建立一条私有链,用智能合约筛选进入私有链的节点,保证只有被允许进入私有链的节点能够对此次传输进行记账,进而达到传输过程隐蔽的目的。利用环形签名技术与隐形地址技术保护发送方和接收方的地址;使用哈希算法前后两次生成数字摘要,比对数据传输前后所生成的数字摘要,验证数据安全性。本发明提出的传输方法,在保护数据传输安全的同时,也对数据传输进行了隐蔽性处理,从而使数据传输过程安全可靠。

以上公开的仅为本发明的一个具体实施场景,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1