武強 邊巴旺堆
西藏大學工學院電信系 西藏 850000
在數字水印技術的研究中,水印協議的研究相對較少。我們知道,無論水印如何具有魯棒性和保真度,如果協議層面出現漏洞,攻擊者就可以無需任何水印信息或檢測水印而破壞水印。本文主要提出了基于 ECC的匿名買賣雙方水印協議。
橢圓曲線加密法(Elliptic Curve Cryptography,ECC)是一種公鑰加密技術,以橢圓曲線理論為基礎,利用有限域上橢圓曲線的點構成的Abel群離散對數難解性,實現加密、解密和數字簽名,將橢圓曲線中的加法運算與離散對數中的模乘運算相對應,就可以建立基于橢圓曲線的對應密碼體制。橢圓曲線是由下列韋爾斯特拉斯Weierstrass方程所確定的平面曲線:y2+a1xy+a3y=x3+a2x2+a4x+a6,其中ai∈F,i=1,2,3,4,5,6。通常F是一素數域,記為Fp。
(1) 賣方Alice:出售圖像作品X給買方Bob;
(2) 買方Bob:向賣方Alice買圖像作品X;
(3) 可信任第三方CA:主要作用是提供Bob用于匿名交易匿名證書;
(4) 仲裁者A:在仲裁過程中,擔當法官的職責;
(5) 水印仲裁機構 WCA:負責生成水印和保存與 Bob的共享密鑰和嵌入水印后圖像的散列值。
在水印信息選取之后,我們對水印W進行編碼。編碼主要是建立一個消息映射的過程。其一般步驟為:
(1) 選取合適的有限域Fq和E,建立一個消息空間M到橢圓曲線的可逆映射?,將信息編碼:?:P→E。
(2) 反編碼:?-1:E ← P。
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' 。
水印的嵌入要通過數字水印嵌入算法來完成,它既可以以加嵌入方式嵌入到原始媒體數據中,又可以以乘嵌入方式嵌入到原始媒體數據中。


這里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
當市場上出現圖像X的非法拷貝Y時,Alice首先執行水印檢測算法,抽取出嵌入到Y中的水印,找到自己嵌入的標示和買方交易的惟一水印A W,通過定位Alice自己數據庫中A W,如果在數據庫中找到A W,她就可以找到和A W相關的買方Bob的信息,然后提取出相關信息,作為仲裁的依據;否則,協議失敗。
如果Bob否認非法拷貝Y來源于他的拷貝時,Alice把自己保存在數據庫中的EPk′(W)、σ和SignWCA(EPk′(W))發送bb給仲裁者A。A收到這些證據后,驗證其合法性,通過驗證后,要求用 B ob的公鑰解密EPk′(W),然后檢測σ(W)是否b在Y中,如果Y中檢測到σ(W),則認為Bob有罪;否則,Bob是無辜的。
(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.