APP下载

基于椭圆曲线密码体制的匿名买卖双方水印协议

2011-06-12武强边巴旺堆

网络安全技术与应用 2011年6期
关键词:私钥公钥买方

武强 边巴旺堆

西藏大学工学院电信系 西藏 850000

0 引言

在数字水印技术的研究中,水印协议的研究相对较少。我们知道,无论水印如何具有鲁棒性和保真度,如果协议层面出现漏洞,攻击者就可以无需任何水印信息或检测水印而破坏水印。本文主要提出了基于 ECC的匿名买卖双方水印协议。

1 椭圆曲线密码体制

椭圆曲线加密法(Elliptic Curve Cryptography,ECC)是一种公钥加密技术,以椭圆曲线理论为基础,利用有限域上椭圆曲线的点构成的Abel群离散对数难解性,实现加密、解密和数字签名,将椭圆曲线中的加法运算与离散对数中的模乘运算相对应,就可以建立基于椭圆曲线的对应密码体制。椭圆曲线是由下列韦尔斯特拉斯Weierstrass方程所确定的平面曲线:y2+a1xy+a3y=x3+a2x2+a4x+a6,其中ai∈F,i=1,2,3,4,5,6。通常F是一素数域,记为Fp。

2 匿名买卖双方水印协议

2.1 协议定义的角色和符号

(1) 卖方Alice:出售图像作品X给买方Bob;

(2) 买方Bob:向卖方Alice买图像作品X;

(3) 可信任第三方CA:主要作用是提供Bob用于匿名交易匿名证书;

(4) 仲裁者A:在仲裁过程中,担当法官的职责;

(5) 水印仲裁机构 WCA:负责生成水印和保存与 Bob的共享密钥和嵌入水印后图像的散列值。

2.2 水印结构

在水印信息选取之后,我们对水印W进行编码。编码主要是建立一个消息映射的过程。其一般步骤为:

(1) 选取合适的有限域Fq和E,建立一个消息空间M到椭圆曲线的可逆映射ϕ,将信息编码:ϕ:P→E。

(2) 反编码:ϕ-1:E ← P。

2.3 水印生成子协议

2.3.1 匿名证书的生成

为了保持交易的匿名性,买方Bob须向CA申请匿名证书。匿名证书是一个通常的数字证书,只是除了它的内容是一个随机数而不是通常申请者的真实身份。CA负责解析该序列数与真实身份的关系。为了申请匿名证书,Bob首先生成一对用于匿名交易的公钥和私钥(Pkb,Skb),然后发给CA。CA验证其身份后,产生匿名证书CertCA(Pkb) ,然后颁发给Bob。这里,我们利用椭圆曲线密码体制来产生公私钥对:首先,Bob选取椭圆曲线Ep(a,b)上的一个产生器点G(x1,y1),选择G点的重要准则是满足nG=0的最小n值是一个非常大的数,并将Ep(a,b)和G公布;然后Bob随机选择一个比n小的数Skb,用作Bob的私钥;最后计算Pkb=Skb×G来得到Bob的公钥。

2.父母在批评孩子时,切忌用手指指着孩子,这样做只能适得其反,让孩子产生更强烈的逆反心理。同时不可忽视目光的交流,真诚的目光会让孩子有充分的安全感,这有助于双方的沟通并取得好效果。

2.3.2 水印生成协议

(1) Bob首先与Alice协商,达成购买协议;

(2) Bob随机生成一对用于交易的公钥和私钥(′),′由CA签名,得到Sign(CA)(′)。这里,CA的匿名证书CertCA(Pkb) 保证了公钥Pkb的合法性,CA的签名保证了′的合法性。并把Sign(CA)(′)、CertCA(Pkb)和()用WCA的公钥加密后Ep(WCA)(Sign(CA)(′),CertCA(Pkb) ,(′))发送给WCA。

(3) WCA收到Ep(WCA)(Sign(CA)() ,CertCA(Pkb) ,(′ ))后,用自己的私钥解密,验证其合法性。如果不合法,则拒绝交易;反之生成水印W,并用加密,得到EPk′(W),

b然后签名得到SignWCA(EPk′(W))。最后把Sign(CA)()、′、b EPk′(W)和SignWCA(EPk′(W))一起发送给 A lice,同时自己保bb存Skb' 。

2.4 水印嵌入子协议

水印的嵌入要通过数字水印嵌入算法来完成,它既可以以加嵌入方式嵌入到原始媒体数据中,又可以以乘嵌入方式嵌入到原始媒体数据中。

这里O′表示嵌入水印后的作品,a,W,O分别表示嵌入强度、水印和原作品。由于本协议使用椭圆曲线公钥密码体制,所以采用加嵌入算法。嵌入步骤如下:

(1) 和Bob达成购买协议,Alice首先选择能惟一表示此次交易的水印AW,然后把AW嵌入到图像 X中:以加嵌入方式嵌入到原始媒体数据之中,规则为:

X′ =X⊕WA。

(2) Alice收到Sign(CA)(′)、′、EPk′(W)和SignWCAb(EPk′(W))后,验证其合法性,如果通过验证,则选择置换函b数σ,置换EPk′(W),得到:σ(EPk′(W) ) =EPk′(σ(W))。然bbb后利用椭圆曲线的同态性,进行加密X′的二次水印嵌入,得到用Bob公钥加密后的水印图像′:EPk′(′) =EPk′(′ ⊕σ(W) ) =EPk′(′) ⊕EPk′(σ(W))并把EPk′(′发送给Bob,同时生成EPk′(X′)的散列码bbh,发送给WCA。最后Alice把Sign(CA)(Pkb′ )、′、EPk′(W)、b σ、SignWCA(EPk′(W))、WA和表示本次与Bob交易的ID保b存在数据库中。

(3) WCA收到h后,将这次交易编号S、散列码h和Bob的私钥′一起存放在数据库中。

(4) Bob收到EPk′(X′)后,用自己的私钥解密,得b到嵌入水印后的图像X′:X′ =DSk′(EPk′(X′))。bb

2.5 水印检测子协议

当市场上出现图像X的非法拷贝Y时,Alice首先执行水印检测算法,抽取出嵌入到Y中的水印,找到自己嵌入的标示和买方交易的惟一水印A W,通过定位Alice自己数据库中A W,如果在数据库中找到A W,她就可以找到和A W相关的买方Bob的信息,然后提取出相关信息,作为仲裁的依据;否则,协议失败。

2.6 纠纷解决子协议

如果Bob否认非法拷贝Y来源于他的拷贝时,Alice把自己保存在数据库中的EPk′(W)、σ和SignWCA(EPk′(W))发送bb给仲裁者A。A收到这些证据后,验证其合法性,通过验证后,要求用 B ob的公钥解密EPk′(W),然后检测σ(W)是否b在Y中,如果Y中检测到σ(W),则认为Bob有罪;否则,Bob是无辜的。

2.7 协议分析

(1) 匿名性:由于Bob向可信任第三方CA申请了匿名证书,因此,在每次交易中,可以确保 B ob的匿名性。CA负责Bob的匿名身份到真实身份的解析。

(2) 交易双方的安全性:由于水印W用Bob的公钥加密,而Alice无法得到Bob的私钥,因此她不能解密EPk′(W)得b

到W;同样,由于Alice用置换函数σ对EPk′(W)进行置换,

b所以Bob也无法得到W,从而去除W。

(3) 买方与图像的绑定问题:在实际交易过程中,如果Alice不诚实,她可以直接将Bob公钥加密后的EPk′(W)拷贝b到价格更高的图像中,而诬陷Bob制造了拷贝的Y。这样做是完全可以的,因为Alice有EPk′(W)、σ和SignWCA(EPk′(W))

bb一切证据。如果Alice这样做了,WCA那么通过对Y进行散列计算,并将散列值与WCA在数据库中的h进行比较,如果一样,则证明Bob制造了盗版;否则,Bob是无辜的。

(4) 买方的合作问题:如果Bob不愿意提供合作或其密钥确实丢失,那么仲裁者A就可以要求WCA提供密钥,因为WCA拥有Bob的私钥Skb′。协议的安全性是基于水印算法的安全性。

[1]郭玉滨.椭圆曲线密码体制的研究.菏泽学院学报.2006.

[2]钮心忻.信息隐藏与数字水印技术.北京邮电大学出版社.2004.

[3]徐杰明,陈洁,肖云.数字水印中的协议攻击研究.计算机与现代化.2004.

[4]周亦鹏,胡娟,杜军平.用于盗版追踪的数字水印协议.北京工商大学学报(自然科学版).2005.

猜你喜欢

私钥公钥买方
清扫机器人避障系统区块链私钥分片存储方法
比特币的安全性到底有多高
基于改进ECC 算法的网络信息私钥变换优化方法
买方常见违约问题分析、应对及预防
一种基于混沌的公钥加密方案
今年房企并购已达467宗
一种基于虚拟私钥的OpenSSL与CSP交互方案
P2X7 receptor antagonism in amyotrophic lateral sclerosis
HES:一种更小公钥的同态加密算法
电子商务中买卖双方诚信博弈分析及其对策研究