文献阅读---《基于区块链和数字水印的数据溯源技术研究》

一、绪论

近年来,随着互联网等信息技术的飞速发展,数据在不同范围内进行转发变得十分经常。但这些数据中包含敏感信息,在共享过程中会面临安全问题。数据的非法转发可能会造成数据所有者的数据隐私外泄,对数据安全造成威胁。因此对非授权的数据泄露进行辨别是数据泄露溯源问责的关键

解决数据泄露溯源问责的关键技术:

  1. 区块链:区块链数据不可篡改,将数据共享过程记录在区块链中,当数据泄露时根据区块链上记录的共享信息实现泄露溯源。可将系统内的数据共享行为以交易的形式记录在区块链上。当发生数据泄露时,查询包含泄露 数据的共享记录便可实现对泄露数据个体的溯源。

  2. 数字水印:数字水印是不可见和可提取的,将可证明数据版权的模式嵌入到数据中,在数据发生泄露时从泄露的数据中提取水印,证明数据版权并据此实现溯源问责。因此数字水印嵌入的目标在于如何用较少的水印信息保证鲁棒性,同时维持数据质量,即平衡水印安全性和数据可用性之间的关系。

数字水印按照嵌入位置分为文本水印、多媒体水印、数据库水印。本文关注数据库水印。数据库水印以二维表为基本数据格式,以属性值为水印的嵌入单元,通过对属性值的修改实现水印嵌入。数据库水印是比较新的研究领域。数据库水印基本上以连续型数值属性作为研究对象

基于区块链的数据泄露溯源方法存在以下不足:

  • 缺少对节点权限的验证(设计文件权限列表结构,绑定节点和文件间的关系)

  • 数据共享记录多数被看作相互独立的记录,并未作为整体进行处理,缺乏有效关联(设计新的记录模型,使得数据共享记录可以与前序记录连接)

  • 部分方法将本地私有链数据关联到公有链,导致系统封闭性被破坏。

二、基础知识

2.1、数字水印

数字水印是一种嵌入在载体中的模式信息,常用于解决载体发生泄露时的溯源题,作为秘密信息插入到载体的特定位置证明版权。数字水印具有不可见性、鲁棒性和可提取性等特点。

数字水印的基本要求:

  • 水印嵌入应对原始数据的改变尽可能小,保证数据的正常使用

  • 同时嵌入水印的数据遭到攻击时,水印应具有鲁棒性保证自身不会破坏

  • 当数据被泄露时,数据所有者应能从其中提取水印证明数据版权并对数据泄露者进行追踪

2.1.1、数据库水印模型

数据库水印模型分为三个阶段:预处理阶段、水印嵌入阶段、水印提取阶段。

  1. 预处理阶段:对原始数据集进行相应操作以便实现后续的水印嵌入

  2. 水印嵌入阶段:将水印插入二维表的秘密位置。

  3. 水印提取阶段,将水印数据集中的水印提取并且恢复原始数据集。

2.1.2、数据库水印分类

2.1.3、数据库水印特征

  • 不可见性

  • 可提取行:数字水印嵌入之后可以提取出来

  • 鲁棒性:遭到攻击后也能提取出来

  • 安全性:应该可以抵御多种类型的攻击

2.1.4、数据库水印攻击类型

  1. 元组添加:攻击者随机生成若干条虚假元组插入数据库,通过降低水印嵌入率,使一些在水印提取时对提取比例有要求的方法失效;

  2. 元组删除:攻击者删除水印数据中的任意条元组,将嵌入其中的水印也一同删除,破坏数据库中水印的完整性,增加水印提取失败的概率;

  3. 元组修改:数据库水印嵌入的具体实现方式为修改二维表中的数值,攻击者通过修改元组在属性上的取值,使嵌入其中的水印发生变化,最终导致提取出的水印与原始水印不同;

  4. 元组排序:在一些数据库水印研究中,水印的嵌入与元组顺序相关,攻击者基于这一背景知识,将元组重新排序,导致水印无法成功提取。

2.1.5、数据库指纹

数据库指纹是数据库水印领域的重点研究方向之一,通过向多个原始数据库副本添加不同的水印信息形成若干不同的水印数据库并发送给多个第三方,在数据泄时,从数据中提取出与第三方身份对应水印,实现对泄露数据的第三方溯源与问责。

三、基于区块链的数据泄露溯源方法

所做工作:

  • 设计文件权限列表权限修改列表,实现对节点访问数据的权限管理

  • 指定系统内数据的共享流程,自动生成溯源数据,并以默克尔树的形式保存在区块链上

  • 设计一种新的交易数据的记录模型,向其中添加前序交易哈希,实现记录在交易层面上的链式关联,为发生非授权共享时进行溯源提供依据。

3.1、问题描述与相关定义

3.1.1、问题描述

潜在的数据泄露者主要来自于内部用户,攻击者通常是具有访问系统权限的内部人员,将组织内的数据通过内部网络转发给没有权限访问该文件的个体,对系统内部的数据安全造成破坏。

3.1.2、相关定义

  • 交易:节点对文件的操作:文件上传和文件共享

  • 交易数据记录模型:用于记录交易的溯源数据,当发送文件节点 ID 与接 收文件节点 ID 相同且前序交易哈希为 0 时,认为交易是节点上传文件,否则认为交易是节点间文件共享,模型具体格式如下:

    (TxID, sendNodeID, receiveNodeID,fileHash, preTxHash, timestamp)

  • 交易哈希:将交易数据记录模型中的各个字段拼接计算哈希

    Hash (sendNodeID || receiveNodeID || fileHash || preTxHash ||timestamp)

  • 前序交易:与一笔交易相关联的已有交易,具体关联方式为:当交易 Tx1的接收文件节点ID与交易Tx2的发送文件ID相同且两笔交易的数据记录模型中文件哈希字段相同,则交易 Tx1 是交易 Tx2 的前序交易。

  • 交易链:通过交易的前序交易哈希字段,将交易与前序交易连接。具体表示文件交易刘彻个和文件在节点中的共享顺序

    交易 Tx3 → 交易 Tx2 → 交易 Tx1 → …

  • 文件哈希权限:根据密钥KEY、节点ID和其有权持有文件计算的哈希值

    Hash (KEY||nodeID || Hash (file))

  • 文件权限列表:系统内所有文件的文件权限哈希的集合

  • 权限修改列表:对文件权限列表的修改操作的集合。

3.2、交易数据记录与溯源框架BDRP

3.2.1、基本框架

BDRP 框架采用中心数据库和区块链结合的双层结构,结构如图 3-1 所示,将文件保存在中心数据库,交易数据保存在区块链。

系统运行流程分为节点上传文件节点请求访问文件两部分:

节点上传文件:

  1. 节点 1 设置欲上传文件 z 的合法持有者,计算文件权限哈希,并生成权限修改列表(增加文件权限哈希),将文件和权限修改列表上传至云服器;

  2. 云服务器将文件 z 保存在本地,将权限修改列表上传至区块链,并记录交易;

  3. 云服务器从区块链生成最新文件权限列表

节点请求访问文件

  1. 节点 2 向云服务器提交文件 z 的访问请求,请求包括节点 2 的 ID 和文件z 的ID 两个字段;

  2. 云服务器根据节点 2 的 ID 和文件 z 的 ID,计算文件权限哈希,并将哈希结果与本地保存的文件权限列表对比;

  3. 根据比对结果决定返回文件或拒绝节点请求;

  4. 若决定返回文件给节点,则将交易记录至区块链。

3.2.2、文件权限列表与权限修改列表

上述算法以最新区块 block 为输入,输出最新状态的文件权限列表 list,首先查询最新区块中是否包含权限修改列表,如果不包含则根据前序哈希找到前一区块,并重复以上操作;当发现某个区块中包含权限修改列表时,将该列表压入栈,然后通过列表的前序哈希找到前序列表,重复此过程直至到第一个权限修改列表;最后将栈中的权限修改列表出栈,并根据出栈列表所记录的文件权限哈希,执行对应增加或删除操作,生成最新状态的文件权限列表 list。

3.2.3、区块结构与交易结构

BDRP 框架也采用Merkle Tree结构,但不同之处在于传统区块链中通过区块头部的前一区块哈希字段来记录前序区块的地址,实现区块间的链接,而BDRP 框架不仅在区块层面进行链接,而且在交易层面也对交易进行链接,具体通过交易数据记录模型中的前序交易哈希予以实现。

3.2.4、攻击模型

恶意节点可以通过P2P(节点之间共享数据)模式绕过云服务器对节点访问文件权限的验证,将文件共享给没有权限持有和访问的节点

3.2.5、溯源流程

当文件发生非法共享之后,需要根据历史交易记录进行溯源,生成交易链并以此为据追溯非法共享文件的节点并对其进行问责。

BDRP框架会在节点通过P2P共享文件时,自动生成交易记录,当检测到非法交易时,可以根据非法共享记录找到其前序交易并递归这个过程,生成对应文件交易链

交易链生成算法以文件 z、最新状态的文件权限列表 list 和非法文件共享交易 tx 为**输入,输出交易链 chain**,描述了对非法共享的溯源流程。首先将非法文件共享交易 tx放入交易链 chain,然后通过 tx 的前序交易哈希字段找到其对应的前序交易,判断前序交易的接收文件节点是否包含于文件权限列表 list 中,若包含,则说明交易 tx 的前序交易是文件 z 的最后一个合法文件共享,并且在其之前的交易也都是合法文件共享,故跳出循环并输出交易链;否则说明在交易 tx 之前还存在对文件 z 的非法共享,进而将交易tx 放入交易链,然后继续重复上述操作,直至最终输出交易链。

溯源算法中生成交易链的最后一笔交易(因为交易链上的链接顺序与时间顺序相反)为泄露数据的源头交易

四、基于区间映射的水印溯源方法

通过区间映射算法计算水印数据,使水印数据集和原始数据集中的元组,分别按同一属性排序后,二者的类标号属性也有相同的排序结果,即通过水印数据集和原始数据集有相同的信息度量,实现在决策树分类算法下对数据分类可用性的有效维持;同时因为对每个属性值都嵌入水印,可实现在部分元组泄露和部分属性泄露两种泄露场景下的溯源

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值