基于以太坊的隐私保护传输方法与流程

文档序号:17125827发布日期:2019-03-16 00:25阅读:402来源:国知局
基于以太坊的隐私保护传输方法与流程

本发明涉及安全的数据传输技术,尤其是涉及一种基于以太坊的具有隐私保护的隐匿信息传输方法。



背景技术:

区块链技术最早是由中本聪在一篇名为“比特币:一种点对点电子现金系统”的论文中提出。比特币系统是一种去中心化的电子现金系统,它解决了在没有中心机构的情况下,总量恒定的数字资产的发行和流通问题。比特币白皮书的问世,也标志着比特币的底层技术,区块链的诞生。

区块链技术是一种分布式的数据库,用于记录点对点网络中的交易。网络中的每一个参与方(也被称为“矿工”)都有一个账本的备份。在区块链网络中,没有中心化的机构,并且没有一个单一的节点可以控制整个网络。区块链是由一系列相互关联的区块构成的长链,每个区块由前一个区块产生,每个区块中有一个或多个交易,由矿工通过共识机制将交易添加到区块并发布到网络中。进一步地,区块链技术采用加密哈希算法,保证了每个区块中的交易都是不可篡改的。

随着区块链技术的发展,区块链越来越受到学术界和工业界的关注,并且涌现出一大批成功的区块链项目,比如以太坊、eos、门罗币等。区块链技术也已经与多个行业结合,比如区块链与分布式存储技术结合的storj、ipfs,区块链技术与物流系统结合的区块链溯源技术等。

以太坊是一个开源的区块链技术平台,内置有图灵完备编程语言的区块链,以太坊具有很高的灵活性和适应性,开发者可以在以太坊上创建合约和去中心化应用,并在其中设立他们自由定义的所有权规则、交易方式和状态转换函数。

但是,以太坊区块中的交易都是公开的,任何人,不管是交易参与者,还是外部观察者、攻击者,都可以获取交易的具体信息,包括交易发送方、交易接收方、交易金额,造成用户隐私信息的泄露。



技术实现要素:

发明目的:本发明的目的在于解决现有技术中存在的不足,提供一种基于以太坊的隐私保护传输方法。

技术方案:本发明的一种基于以太坊的隐私保护传输方法,包括消息发送方、消息接收方和以太坊网络三个实体;所述消息发送方加密消息、计算隐匿标签并将消息打包发送到以太坊网络;所述以太坊网络提供系统服务,并负责存储和维护区块;所述消息接收方查找并恢复发送给该实体的信息;具体包括以下步骤:(1)系统初始化:

(1.1)用户ui输入系统参数g,其中g=(x,-4/5)是椭圆曲线-x2+y2=1+dx2y2的一个基点,d=-121665/121666;

(1.2)用户ui选取随机数作为私钥对(ai,bi),并计算公钥对(ai,bi),其中ai=aig,bi=big;

(1.3)用户ui通过交易将公钥对(ai,bi)发送到以太坊网络,并用安全的方式存储私钥对(ai,bi)(例如安全地存储到本地文件,防止丢失或者被别人偷取);

(2)消息发送方计算隐匿标签;

(3)消息发送方加密信息;

(4)消息发送方打包交易并发送交易到网络;

(5)消息接收方查找并恢复信息。

进一步的,步骤(2)的详细过程如下:

(2.1)消息发送方μi获取消息接收方μj的公钥对(aj,bj),选取随机数并计算隐匿标签st=hs(rτaj)g,其中hs为加密哈希函数hs:{0,1}*→fq;

(2.2)消息发送方μi计算交易公钥rτ=rτg,消息加密密钥pksa=hs(rτaj)g+bj。

进一步的,所述步骤(3)中消息发送方μi使用对称加密算法计算其中,msg为明文信息,c1为加密后的信息。

进一步的,所述步骤(4)中消息发送方μi打包交易rτ||st||c1并广播到以太坊,然后矿工验证交易,并将交易打包进区块,c1为加密后的信息,rτ=rτg,

进一步的,所述步骤(5)的详细过程如下:

(5.1)消息接收方μj检查新生成区块中的每一个交易,提取交易的交易公钥rτ,并使用私钥对(aj,bj)计算st′=hs(ajrτ)g,rτ=rτg,

(5.2)消息接收方μj判断st′=st是否成立,若等式成立,表明消息接收方μj为授权的接收方;

(5.3)消息接收方μj计算对应的解密密钥sksa=hs(ajrτ)+bj并使用sksa解密信息

有益效果:与现有技术相比,本发明具有以下优点:

(1)在消息传递过程中,本发明的消息发送方在以太坊中创建一个隐匿标签,消息接收方为获取该消息,需要扫描每一个新增的交易,并计算相应解密信息。由于椭圆曲线离散对数问题求解的困难性,没有正确的私钥对很难计算出正确的隐匿标签。由此保证了只有正确的接收方才能接收到该信息。

(3)在现有的以太坊中,每一笔交易都是透明可见的,这会造成隐私泄露问题(包括接收方的地址和交易的具体内容)。为解决该问题,本发明使用隐匿标签和对称加密来实现交易的不可追踪性和不可连接性,从而实现对用户隐私的保护。

附图说明

图1是本发明实施例中的系统结构图;

图2是本发明中隐匿信息发送过程示意图;

图3是本发明中隐匿信息查找和接收过程示意图;

图4是实施例中四组实验在不同尝试次数下的时间开销对比示意图。

具体实施方式

下面对本发明技术方案进行详细说明,但是本发明的保护范围不局限于所述实施例。

如图1所示,本发明的一种基于以太坊的隐私保护传输方法,包括三个实体:消息发送方、消息接收方和以太坊网络。

消息发送方是消息的发出者,负责对消息进行加密、计算隐匿标签并将消息打包发送到以太坊网络;以太坊网络提供系统服务,并负责存储和维护区块;消息接收方查找并恢复发送给该实体的信息。

总体来说,本发明中使用区块链交易来存储和传递消息,并进一步地通过隐藏交易来隐藏信息传递。消息发送方使用接收方的公钥信息和随机数计算隐匿标签和加密公钥,对于消息接收方,只有知晓正确的私钥对才能正确的计算出消息存储地址、定位到该信息并计算出消息解密密钥。

本发明具体包括以下过程为:

1)系统初始化:

1.1)用户ui输入系统参数g,其中g=(x,-4/5)是椭圆曲线-x2+y2=1+dx2y2的一个基点,d=-121665/121666;

1.2)用户ui选取随机数作为私钥对(ai,bi),并计算公钥对(ai,bi),其中ai=aig,bi=big;

1.3)用户ui通过交易将公钥对(ai,bi)发送到以太坊,并用安全的方式存储私钥对(ai,bi)。

2)消息发送方计算隐匿标签:

2.1)消息发送方μi获取接收方μj的公钥对(aj,bj),选取随机数并计算隐匿标签st=hs(rτaj)g,其中hs为加密哈希函数hs:{0,1}*→fq;

2.2)如图2所示,消息发送方μi计算交易公钥rτ=rτg,消息加密密钥pksa=hs(rτaj)g+bj。

3)消息发送方加密信息:消息发送方μi使用对称加密算法计算其中,msg为明文信息,c1为加密后的信息。

4)消息发送方打包交易并发送交易到网络:消息发送方μi如图2所示打包交易rτ||st||c1并广播到以太坊。矿工验证交易,并将交易打包进区块。

5)接收方查找和恢复交易:

5.1)消息接收方μj检查每一个交易,提取交易的交易公钥rτ,并使用私钥对(aj,bj)计算st′=hs(ajrτ)g;

5.2)如图3所示,接收方μj判断st′=st是否成立,若等式成立,表明消息接收方μj为授权的接收方;

5.3)消息接收方μj计算对应的解密密钥sksa=hs(ajrτ)+bj并使用sksa解密信息

实施例

为评估本发明的性能表现,本实施例在本地部署以太坊测试网络(ganache),并在测试网络中执行本发明的隐私保护传输方法。在ganache中,区块链出块时间设为0。因此在评估系统性能表现时,无需考虑以太坊中复杂网络的影响和挖矿耗时。在本实施例中,数据发送方/接收方程序运行在配置为amdalthlonm320(2.1ghz)处理器,4gbram,manjaro操作系统,802.11bgn无线网卡的电脑中。ganache网络运行在配置为4核心amda10-5800k(3.8ghz)处理器,8gbram,windows10操作系统,gigabit以太网络适配器的电脑。

在本实施例中,采取160位ecc算法来实施信息隐匿过程,并对该过程中时间开销进行测量。其中,传输信息长度为80字节。

实施例性能评估:图4为该实施例中四组实验在不同尝试次数下的时间开销,对应的gas开销为63850。

通过上述实施例可以看出,本发明提供一种基于以太坊的交易隐藏策略,并使用交易来存储和传递消息。在消息传输过程中,消息发送方使用接收方的公钥信息和随机数计算消息地址和消息加密密钥,保证只有拥有正确的私钥信息的接收方才能定位到该交易并解密恢复信息,从而实现消息传输过程中的隐私保护。

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