Backes M , Grimm N , Kate A .Data Lineage in Malicious Environments[J].IEEE Computer Society Press, 2016.DOI:10.1109/TDSC.2015.2399296.

要解决的问题

  • 数据泄露不仅对企业造成影响,也损害个人用户的权益。
  • 单纯的数据加密不能阻止恶意用户泄露解密后的数据。
  • 泄密数据不能与“嫌疑人”联系起来,给了敌手可趁之机。

主要贡献

  • 本文提出了LIME(Lineage in the Malicious environment)通用数据血缘框架,该框架在设计阶段强制实现可追责性。
  • 提出可追责数据传输协议,基于水印、不经意传输和签名技术,解决不可信发送者与不可信接收者的消息传输问题。

不主动阻止数据泄露,只提供发生数据泄露时确定“嫌疑人”的方法

LIME框架

image-20240314092959772

框架设定三个角色:数据拥有者(owner)、数据消费者(consumers)、审计员(auditor)。一般情况下,数据从拥有者传输至消费者,但也存在拥有者之间或消费者之间传输数据的情况。文章假定,当拥有者之间传输数据时,有个不可否认假设(non-repudiation assumption),即若发生数据泄露,发送方信任接收方负全责。

本文假定消费者是不诚实的,当数据传输涉及到消费者,发送方会在数据中嵌入指纹用来唯一标识接收方。

审计员不参与数据传输,但是泄露一旦发生就采取行动。本文假定,拥有者是诚实的,审计员始终信任拥有者(honesty assumption),即拥有者不会泄露数据

具体技术

鲁棒水印

三个算法来形式化定义鲁棒水印(robust watermarking):

密钥生成算法:GenKeyWM(1κ)GenKey^{WM}(1^\kappa)κ\kappa为安全参数,输出密钥kk

嵌入水印算法:D=W(D,w,k)D'=\mathcal{W}(D,w,k)DD是原始数据,ww是水印,kk是密钥

水印检测算法:Detect(D,w,D,k)Detect(D',w,D,k)

本文采用Cox水印算法[1]。该算法主要针对图像处理。(我觉得可能是作者只找到这个针对图像的水印算法符合要求)

本文要求水印算法支持多重水印(multiple re-watermarking)[2],即数据可以连续嵌入多个水印,且水印不会相互干扰,都能被独立检测到。

本文要求水印算法抗合谋(collusion resistant),即如果一个敌手拿到数据的不同水印版本,他也不能还原出原始数据。有些水印检测算法不需要输入原始数据,这些算法被称为盲(blind)水印算法。

不经意传输

本文采用二选一不经意传输方案(1-Out-of-2 Oblivious Transfer)[3]

存在一个发送者拥有两项数据x0x_0x1x_1,接收者希望获取其中一项数据xix_i,但不希望发送者知道是哪个ii。此外,接收者只知道自己的获得的数据xix_i,而不知道x1ix_{1-i}。具体如下:

  • 初始化:发送者选择两个随机数rrCC,预先计算CrC^rgrg^r
  • 接收者生成一个随机整数kk,满足1kq1\leq k\leq q,令PKi=gkPK_i=g^kPK1i=C/PKiPK_{1-i}=C/PK_i,并将PK0PK_0发送给发送者
  • 发送者接收到PK0PK_0后,发送者计算PK0rPK_0^r以及(PK1)r=Cr/(PK0)r(PK_1)^r=C^r/(PK_0)^r,将grg^r及两个密文H((PK0)r,0)x0,H((PK1)r,1)x1H((PK_0)^r,0)\oplus x_0,H((PK_1)^r,1)\oplus x_1发送给接收者
  • 接收者解密

协议流程

可信发送者

不可信发送者

image-20240315160449034 image-20240318100332622
  1. 审计员初始化,认为拥有者是嫌疑人

  2. 审计员在血缘关系中添加当前嫌疑人

  3. 审计员将泄露的数据发送给当前嫌疑人,要求其出示水印密钥k1k_1k2k_2和水印σ\sigma

  4. 如果用密钥k1k_1没有就检测到σ\sigma,审计员转到第9步

  5. 如果当前用户可信(是个owner),审计员检查水印σ\sigma得到(CS,CR,τ)(C_S,C_R,\tau),找到下一家CRC_R,继续第2步

  6. 审计员验证σ\sigma签名的格式为[CS,CR,τ]skCR[C_S,C_R,\tau]_{sk_{C_R}}的有效性,同时验证签名的有效性

  7. 审计员将签名分为nn份,用密钥k2k_2检测0或1水印,如果它检测出全部或全没检测出,则到第9步。否则将检测出的水印设置为b=b1bn{\overline{b^{\prime}}}=b_{1}^{\prime}\ldots b_{n}^{\prime}

  8. 审计员要求CRC_R出示mi,bi=[τ,i,bi]skCSm_{i,b_i}=\left[\tau,i,b_i\right]_{sk_{C_S}},以证明他的选择,如果mi,bim_{i,b_i}格式错误,或者签名是无效的,或等于b\overline{b^{\prime}},就将CRC_R作为嫌疑人,转至第2步

  9. 审计员输出血缘关系,该嫌疑人负责


  1. 1.I. J. Cox, J. Kilian, F. T. Leighton, and T. Shamoon, “Secure spread spectrum watermarking for multimedia,” IEEE Trans. Image Process., vol. 6, no. 12, pp. 1673–1687, Dec. 1997.
  2. 2.Mascher-Kampfer A , Stgner H , Uhl A .Multiple re-watermarking scenarios[J]. 2006.
  3. 3.Efficient Oblivious Transfer Protocols -SODA 2001