作者简介:温泉(1977-),男,讲师,博士.研究方向:信息安全.E-mail:wenquan@jlu.edu.cn
提出了基于分离加密域水印算法在客户端嵌入水印的思想,并研发了3个子协议:水印嵌入子协议、水印争端子协议、“未绑定”争端子协议。同时,结合部分加密和置换函数等相关密码技术,进一步弥补了理论上存在的水印协议漏洞。理论分析及仿真表明:本文研发的水印协议不仅有效地解决了“未绑定”问题,而且解决了“角色诚信”对协议安全的威胁,另外也避免了完全加密对协议性能的影响。
The idea of embedding watermark at the client side is proposed base on the separable encrypted watermarking algorithm. Three sub-protocols are developed, which are watermarking embedding sub-protocol, watermarking disputing sub-protocol, and unbinding problem disputing sub-protocol. At the same time, some theoretical vulnerabilities are compensated further by combining partial encryption and permutation function about cryptography. Theoretical analysis and simulation results show that the watermarking protocol developed in this paper can effectively resolve not only the unbinding problem, but also the thread caused by role integrity, and avoid the influence of full encryption on the protocol performance.
Internet的逐渐成熟和普及为人们日常生活带来诸多方便的同时,也导致了随处可见的侵权和盗版行为,为此提出DRM(Digital rights management)系统以解决数字产品的知识产权问题[ 1]。网络上的版权问题非常复杂,因此DRM需要多种技术体系来支撑。90年代初提出来的数字水印,因为具有可以弥补传统密码技术不足的特点,被专家普遍接受为DRM系统中不可或缺的关键技术之一。
数字水印的研究可以分为算法和协议两个研究方向。水印协议是研究在具体的网络环境中如何实施水印技术的框架,本质上是一种“安全协议”[ 2]。不过,水印协议因为增加了水印嵌入和提取的环节,使得设计一个合适且漏洞少的水印协议比一般的安全协议设计更加困难。学者们在研究水印协议的过程中,发现并解决了很多重要的理论问题。比如,Qiao等[ 3]提出了一种非对称的水印协议方案尝试解决“客户权利问题(Customer's right problem)”。Memon等[ 4]针对同样的问题,利用密码算法的“同态”性质提出了更完善的解决方案。Lei等[ 5]在Memon工作的基础上又发现并解决了“客户匿名问题(Customer's privacy problem)”和“未绑定问题(Unbinding problem)”。
针对上述的水印协议问题,陆续有不少学者从各个角度做出了不同程度的贡献。比如,有学者提出了一种在Internet环境中使用的水印协议方案,并且无需两次嵌入水印来保证客户的利益[ 6];也有研究者利用“防篡改”机制取代PKI机制,实现了一种“轻量”级的高效水印协议方案[ 7];一些新技术,如“复合信号表示(Composite signal representation)”[ 8]、“加权不经意传输(Priced oblivious transfer,POT)”[ 9]和“部分加密”[ 10]也都运用在水印协议的设计上以期解决上述问题。
在上述诸多水印协议的问题中,“未绑定”问题是很复杂微妙的,目前所提出的解决方案在理论上并不十分完美。因此,本文专注于“未绑定”问题的完善,尝试研发一个更为合理的解决方案,并从理论上论证协议设计的合理性。
水印协议中的“未绑定”问题比较复杂,为更清楚地说明,下面尽量采用形式化的方法对其进行表述,论述中使用各符号的具体含义见文献[5]。
假设Seller有两个数字产品
式中:表示水印嵌入算法。
如果Seller偶然得到了
式中:表示水印提取算法。
通过“未绑定”问题的漏洞,恶意的Seller可以合法地证明Buyer盗版了从未销售给他的
文献[5]对“未绑定”问题的解决方案是:Buyer不再提供给Seller包含其身份信息的公钥
式(3)表明是在加密域中嵌入水印信息
上述的解决方案之所以可以解决“未绑定”问题,是基于这样一个假设:对于加密域水印算法,嵌入和提取都首先要对宿主数据进行加密,并且使用的密钥必须一致。这个假设在文献[5]中并没有明确提出来。不过,从前面的公式可以分析,理论上
另外,目前公开发表的加密域水印算法并不多见[ 11, 12]。文献[11]中设计的加密域水印算法,对于提取已是明文的
分析文献[5]可得出结论:除非遍历所有销售记录,否则无法知晓与
对于“未绑定”问题,也有作者提出合法水印只能由作品的特征和Buyer的身份信息联合产生。比如,可利用数字作品的Hash值加上Buyer选择的随机数据联合生成合法的水印信息[ 6, 8]。如此一来,水印和数字作品的内容绑定在一起,从而解决了“未绑定”问题。但是,这类解决方案最终还是由Seller来嵌入水印。如果Seller主动攻击,可以选择更合适的攻击时机:在最初提交的作品Hash值就不是
总之,通过上面的分析,可以认为目前已研发的针对“未绑定问题”的解决方案均不是十分完善,存在一定的漏洞。这里的关键是:水印的嵌入是在Seller端完成的。如果仅仅由Seller来嵌入水印,很难解决“未绑定”问题。按照这个思路,下面提出一个客户端与Seller同时嵌入水印的方案来解决“未绑定”问题。
根据前面提出的“客户端嵌入”解决“未绑定”问题的总体思路,兼顾“客户权利”问题及“客户匿名”问题,同时考虑水印协议的安全性和效率,开发了一种新的买方-卖方水印协议,包括水印嵌入协议、水印仲裁协议和“未绑定”问题争端解决协议,下面分别详细说明。
嵌入协议的详细过程如图1所示,协议分4步完成。
第1步,即B.1。
第2步,即S.2。
第3步,即PC.3。
第4步,即S.4。
最后,S在自己的销售数据库中保留本次协议产生的数据:
当产生版权纠纷时,将启动水印仲裁协议,其各角色之间的互动过程见图2,协议分4步完成。
第1步,即S.1。
第2步,即ARB.2。
第3步,即CA.3。
第4步,即ARB.4。
上述的版权争端协议结束后,B可以提起“未绑定问题”的申诉,以启动“未绑定问题”的水印协议,具体过程如图3所示。
第1步,即B.1。
第2步,即ARB.2。
第3步,即PC.3。
第4步,即ARB.4。
最后,仲裁者ARB将判决结果发送给B,协议运行结束。
“客户匿名性”问题和“客户权利”问题借鉴了前人的做法[ 4, 5],除此之外,以下3个措施增加了协议的安全性。
(1)在PC.3中,水印
式中:
(2)在S.4中,S利用一个置换函数
式(5)利用了加密函数
(3)从第2节协议开发的设计图中可以注意到三个子协议具体在网络中实现时,均对于相对底层的协议采用了业界较成熟的SSL(Secure socket layer)安全机制。
涉及版权争端问题时,关键是要能提取出涉嫌作品中的水印信息,本文采取的部分加密水印算法不仅安全,而且由于不用对所有数据进行全部加密,同时得到了很高的效率。水印嵌入过程的原理如下:
式中:
在争端协议步骤ARB.2中,ARB提取出涉嫌作品
式中:
为了验证部分加密水印算法的有效性,做了仿真实验,实验用图为经典的512×512分辨率的Boat灰度图,实验结果如图4所示。从图中可以看出,加密和解密效果、水印不可见性、检测可靠性等关键指标是令人满意的。
根据“客户端水印嵌入”的思想,用户B得到一个由PC提供的密钥
另外,文献[12]的水印算法是“可逆的(Reversible)”,B的嵌入行为不会影响作品的质量。同时,为了不泄漏B的嵌入密钥和客户端水印信息,还可以采用“零知识水印检测(Zero-knowledge watermarking detecting)”技术[ 13]。
综合上述的分析,将本文协议和经典的水印协议进行了全面对比,比较结果见表1,表中所使用术语的具体含义见文献[6]。从表中可以看出,本文设计的协议除了在协议复杂度方面有所欠缺,其他问题基本得到解决。实际上,协议复杂度和协议安全性两者是一对矛盾,安全性高的水印协议其复杂度不可避免地有所上升。
(1)经过分析,客户端嵌入水印的思想对于解决未绑定问题是有效的,除此之外,恐怕很难防止Seller主动利用未绑定问题进行攻击。
(2)通过对水印嵌入子协议、水印争端子协议和未绑定争端子协议三个子协议的具体开发及仿真分析,可以认为使用部分加密、置换函数等安全技术是有效的,不仅基本解决了当前水印协议研发中出现的各种问题,安全性也得到进一步提高。
因为未绑定问题的逻辑比较复杂,而且水印协议中还可能存在更微妙复杂的问题,所以进一步的工作是将形式化分析方法引入到水印协议中来,借助数学证明手段,通过更为严谨、逻辑性更强的形式来验证协议设计的安全属性,发现并解决协议中的新问题。