THUBA专栏 | 区块链上的隐私威胁与保护(一)【土吧研报】

原创 : Zeo  | THU学生区块链

区块链上的隐私威胁与保护(一)

区块链上的隐私威胁

THUBA专栏 | 区块链上的隐私威胁与保护(一)【土吧研报】

在区块链系统的实际使用中,为了保证区块链上记录数据的可溯源、可验证等特性,所有数据都必须公开给区块链网络中的所有节点。这一特性在保障安全、可验证的同时,导致恶意攻击者可以直接获取区块链账本中记录的数据,并通过分析数据窥探用户隐私。攻击者通过分析区块链账本中记录的交易数据,发掘其中规律,将用户的不同地址、交易数据关联,甚至进一步对应到用户的现实身份。

这类分析攻击主要分为地址聚类身份定位两阶段。地址聚类阶段根据用户在区块链上的关联数据将可能属于同一用户的地址、交易进行聚类,得到同一用户不同地址之间的关联关系。

身份定位阶段搜集与区块链地址相关联的用户信息,例如论坛、交易所等服务记录中与链上地址对应的手机、邮箱、IP地址等用户链下信息,再根据搜集到的信息确定用户身份,关联该用户所有地址与交易信息,揭露该用户的所有历史记录。

THUBA专栏 | 区块链上的隐私威胁与保护(一)【土吧研报】

区块链账本记录了区块链系统中的各类事务数据,由于目前区块链系统主要应用于密码货币领域,因此区块链账本主要记录交易数据。交易模型主要分为比特币中的未花费交易输出(UTXO,Unspent Transaction Output)模型和以太坊系统中的账户(Account)模型两类。账本隐私主要包含以下内容:

交易内容隐私:账本记录的单笔交易内容,包含交易发起方、接受方、交易金额以及附带数据等隐私信息。

账户地址隐私:区块链地址与交易的关联关系,包含账户地址的交易记录、账户余额以及不同账户地址间交易关联等隐私信息。

用户身份隐私:用户和区块链地址、交易的关联关系,包含同一用户的交易记录、资金余额等隐私信息。

比特币系统通过用户自己生成账户地址来保障用户隐私,用户可以为每一次交易创建新的账户地址,并通过自己不同的地址发起不同的交易来保护自己的隐私。

但在比特币的实际应用中,不同账户的资产割裂,导致用户通常需要发起多输入交易,即从多个地址共同支付的交易。该交易需要每个输入地址的签名,可以由一个或多个用户生成。由于多个用户对同一交易进行签名的过程较为复杂,通常多输入交易由同一用户生成。

此外,在基于UTXO模型的交易系统中,未花费资产只能使用一次,因此当花费资产超过交易所需资产时,用户将超出部分的资产转移到自己的另一账户地址中。用于接受超出部分资产的账户地址通常称为找零地址。

针对账本隐私包含的各类隐私,目前的主要攻击方式为账本分析攻击。通过分析区块链账本数据,利用用户常见的交易规律,构建账户地址与交易之间以及用户与账户地址之间的一对多对应关系,威胁账本地址隐私与用户身份隐私。攻击者根据区块链系统的设计与上述使用特征提出以下假设:

假设1:多输入交易的所有输入地址为同一用户所持有。

假设2:交易的找零地址和输入地址为同一用户所持有。

2013年,Reid等人下载了比特币系统2009年1月3日至2011年7月12日的全部账本数据,通过分析数据首先构建交易网络。交易网络中节点表示单次交易,节点间的有向边为交易间的输出-输入对,表示前一次交易的输出作为后一次交易的输入,每条边同时记录了交易金额以及交易时间。

THUBA专栏 | 区块链上的隐私威胁与保护(一)【土吧研报】

在交易网络的基础上,提取所有多输入交易,构建账户地址间的非完全网络,非完全网络中节点表示地址,节点间有向边表示地址间交易的时间和金额。Reid等人根据假设1,即假设多输入交易的所有输入地址为同一用户所有。在非完全网络的基础上,可以聚合属于同一用户的所有地址,进而构建用户网络,用户网络中节点表示一个用户,节点间的有向边表示用户间资产流动信息。

THUBA专栏 | 区块链上的隐私威胁与保护(一)【土吧研报】

2013年,Androulaki等人根据区块链钱包的应用特征提出了挖掘找零地址的方法,并提出了假设2。为了验证假设的正确性,Androulaki等人在大学中构建了模拟的密码货币使用环境,通过搜集用户使用记录,并利用假设1和假设2进行分析,挖掘出40%左右用户的真实身份。

综上所述,账本隐私内容主要集中于单次交易的内容及隐藏在多个相关交易之后的用户身份、账户余额等隐私信息。这部分信息记录在公开的区块链账本中,攻击者可以通过分析账本挖掘出其中的关联信息,威胁用户的账本隐私。

THUBA专栏 | 区块链上的隐私威胁与保护(一)【土吧研报】

区块链系统通过去中心化的P2P网络进行节点间通信。而在非许可链系统中的网络不存在准入限制,这在增强了扩展性的同时也带来了潜在的风险。攻击者可以任意部署节点,监听网络中各节点隐私信息以及网络通信信息,甚至尝试对正常节点发起攻击。区块链网络主要存在以下隐私内容:

节点隐私:节点自身的隐私内容,包含节点网络IP、软件版本、服务器系统等隐私信息。

通信隐私:节点间通信隐私内容,包含节点间通信的数据内容以及通信流量情况。

2013年,Reid等人尝试利用Bitcoin Faucet公开的区块链地址及IP地址对应关系进行分析,揭露比特币用户与实际物理位置的对应关系,该尝试只涉及到很少的节点.Bitnodes网站通过部署大量节点,探测全球范围内的比特币节点信息,其中IP地址分布信息如图3所示(截图于2019年08月01日)。

THUBA专栏 | 区块链上的隐私威胁与保护(一)【土吧研报】

探测攻击严重威胁节点隐私,更进一步,攻击者通过大量探测可以将区块链中广播的数据与实际发起节点关联,尽管区块链网络采用洪水广播的方式保护实际发起人,但是在布置大量探测节点后,攻击者有很大概率找出消息的真实发起节点。2011年,Kaminsky在黑帽大会上提出假设,假设第一次接受到消息时的来源节点即为该消息的真实发起节点。

THUBA专栏 | 区块链上的隐私威胁与保护(一)【土吧研报】

2014年,Koshy等人在Kaminsky所提出假设的基础上进行了完善,归纳一段时间内监听到的消息传播情况,提出了区块链网络中消息传播的四种模式(如图4所示)以及对应的真实发起者假设。这一攻击方式通过监听消息传播模式,分析真实发起节点,将IP地址与消息中包含的链上地址对应,威胁通信隐私与用户身份隐私。

模式1 单一转发者 该模式中消息只有一个节点重复发送.在广播协议中这种情况并不常见,通常出现原因在于该节点发送不合法消息,其他节点拒绝转发该消息.因此可以假设该节点为消息实际发送者。

模式2 多转发者,无重复转发者 该模式中有多个节点参与消息的转发,每个节点只发送一次.这种模式是网络中最常见的消息传播模式,在Koshy等人收集的数据中占据91.4%.该模式中假设第一次接受到的消息发起者为消息的真实发起者。

模式3A 多转发者,单一重复转发者 该模式中有多个节点参与消息的转发,除了一个节点重复多次外,其他节点只发送一次.该模式中,假设唯一的重复转发者为消息的真实发起者。

模式3B 多转发者,多重复转发者 该模式中有多个节点参与消息的转发,多个节点重复发送,该模式中难以推断实际发起节点,并且所占比例较小,为2.8%,因此Koshy等人放弃了这部分数据。

THUBA专栏 | 区块链上的隐私威胁与保护(一)【土吧研报】

区块链系统的隐私内容以及对应的攻击方式总结如表2所示:

THUBA专栏 | 区块链上的隐私威胁与保护(一)【土吧研报】

如何防御这些攻击措施?

我们将在后续系列文章中详细介绍各类隐私保护技术。

本系列文章主要内容来源

张奥, and 白晓颖. “区块链隐私保护研究与实践综述.” Journal of Software 5 (2020): 1406-1434.


END

文稿 | Zeo 

排版 | Celia

审核 | Zeo

THUBA专栏 | 区块链上的隐私威胁与保护(一)【土吧研报】

本文转载自https://mp.weixin.qq.com/s/RNDpaSXLSO1QKgcLrIkfYw

(0)
上一篇 10月 29, 2021 00:55
下一篇 10月 29, 2021 09:34

相关推荐

发表评论

登录后才能评论