• 沒有找到結果。

可自我復原之防偽型浮水印技術

葉富豪

1

沙成岳

2

黃冠智

2

1

輔英科技大學資訊科技學位學程

2

輔英科技大學資訊管理系 t260gt260g@gmail.com

摘要

本專題運用數位影像空間域原理,以不會造成影像視覺品質之明顯失真為前提,將不可視覺 型數位浮水印嵌入於數位影像中,達到保護影像完整性與安全性功能。而本專題之數位浮水印技 術,不依靠原始影像而僅使用數位浮水印內容,即可判斷受保護之影像完整性,定位出數位影像 遭破壞或竄改之影像區域。除了能夠偵測影像完整性之外,還可將遭破壞或非法竄改之影像區 域,盡可能的進行復原。基於擴展本專題之可實用性,本專題實作建立於Android 手機平臺上,

經由手機攝影鏡頭拍下之數位影像,自動將數位浮水印嵌入於數位影像之中,進而加以保護該數 位影像之完整性。

關鍵字:脆弱型浮水印、Android 手機應用

1.介紹

早期的浮水印技術提出自[1],此浮水印技 術隨機選擇影像中7 個像素之最高有效位 元,將其產生相對應之浮水印,並將浮水印嵌 入於最低有效位元中。以平均來說,此技術有 50%可能無法檢測出其像素值遭竄改。

Yeung 和 Mintzer[2]提出一脆弱浮水印構 想,先產生與影像相同大小之二元影像,將其 像素相對應的二元值視為浮水印,並嵌入於像 素中以保護影像。於偵測時,對欲偵測影像使 用查表法方式檢驗受竄改像素,此方法雖是容 易被實作的,但也容易遭受偽造。

Wong[3]提出一個基於公開金鑰密碼系統 之脆弱浮水印構想,將影像經單向雜湊函式後 使用公開金鑰將其加密,形成加密浮水印而嵌 入。在驗證程序上,將收到的影像中浮水印萃 取後,使用私密金鑰將其解密以認證是否可信 任影像。雖然此演算法提供了較高的安全性,

但其無法容忍偽造攻擊。

本專題實作了一個可自我復原之防偽型 浮水印技術,此技術可定位出遭破壞、竄改之 影像區域,而且僅依靠浮水印資訊進行復原。

此浮水印技術使用單向雜湊函式計算其影像 之唯一性訊息摘要(Message Digest),以提高更 高技術的安全性。使用馬賽克(Mosaci)資訊協 助破壞之影像進行修補。並使用公開金鑰密碼 系統(Public-Key Cryptosystems)進行加密,以 防止其浮水印資訊遭受偽造。而為擴展本專題 之實用性,將其影像安全性保護應用,建立於 Android 平臺手機上,自動將數位浮水印嵌入 手機拍攝後影像,保護其影像之完整性 (如圖 A) 。

2.浮水印架構與實作 2.1 浮水印架構

本專題之數位浮水印構成共可分為三個 部份所組成,第一部份為16 位元長之自我驗 證資訊、第二部份為16 位元長之防偽驗證資

訊,第三部份為96 位元長之復原資訊。於偵 測影像之完整性時依浮水印中之自我驗證資 訊及防偽驗證資訊,定位顯示出該影像遭竄改 區域及破壞區域。而當確認其影像已遭竄改或 破壞,則藉由浮水印中之復原資訊,將其區域 進行復原 (如圖 B) 。

2.2 浮水印產生

首先指定欲受保護之原始數位影像,依 8×8 位元為固定大小之不重疊區域,將影像擷 取為多個影像區域,而擷取後的影像區域稱為 一個區塊。而後將對每一區塊做操作,以產生 驗證資訊及還原資訊。於擷取完整張影像中之 區塊後,依序對整張影像中每一區塊做以下方 法產生區塊的浮水印資訊(區塊驗證資訊、區 塊復原資訊) (如圖 C)。

2.2.1 區塊驗證資訊

本專題以區塊為單位,依其區塊影像內容 計算一段32 位元之驗證資訊,而其計算方式 如下所示:將區塊中之每一像素值最後2 個位 元(Two Least Significant Bits)設為零。而後將 區塊經單向雜湊函式計算後得出一段長為128 位元的訊息摘要。將經雜湊函式計算得之128 位元的訊息摘要再經由XOR 運算成一段 32 位元之資訊(如圖 D),此資訊為影像區塊之信 任評估依據。將此32 位元資訊取其前半段為 區塊之自我驗證資訊,而後半段資訊為區塊之 防偽驗證資訊。

2.2.2 區塊復原資訊

本專題以區塊為單位,依其區塊影像內容 計算一段96 位元之復原資訊,而其計算方式 如下所示:將區塊中之每一像素值最後2 個位 元設為零。而後將區塊中以2×2 個像素為固定大 小且不重複區域,擷取為一子區塊(Sub-Block)。

將子區塊內像素值求平均值。再將每子區塊之 平均值取其前6 個位元,共得 96 位元資訊,

即為影像區塊之復原資訊。

2.3 浮水印嵌入

本專題以8×8 個像素為固定大小之不重 複區域,擷取其影像內容成為一個區塊。對每 區塊依其影像內容計算其驗證資訊(如 2.2.1 節) 及復原資訊(如 2.2.2 節),並將其組成為 128 位元之數位浮水印資訊。

於每區塊產生其數位浮水印後,對影像中 每個區塊A 依規則選定另外兩個與其區塊 A 不重複之區塊B 與 C,將區塊 A 之防偽資訊 與區塊B 之防偽資訊進行交換,區塊 A 之復 原資訊與區塊C 之復原資訊進行交換(如圖 E)。經交換後之區塊 A 浮水印,使用公開金鑰 密碼系統將區塊A 浮水印資訊進行加密。經 加密後取得之密文資訊,以每2 個位元為一 組,嵌入於區塊A 之像素值最後 2 個位元。

2.4 浮水印萃取與驗證

本專題以8×8 個像素為固定大小之不重 複區域,擷取其影像內容成為一個區塊。依其 區塊影像內容,萃取其浮水印內容後進行驗證 程序。將每個區塊中之像素值最後2 個位元萃 取出,使其組成共128 位元之浮水印資訊。

於每區塊浮水印資訊萃取後,將各別區塊 萃取出之資訊使用公開金鑰密碼系統進行解 密程序,取得浮水印資訊。

於前述,取得區塊A 內浮水印資訊後,

以區塊為單位元依2.2.1 節方式再計算一次其 區塊A 之驗證資訊後即進行驗證程序。以區 塊為單位進行驗證程序,將區塊A 浮水印中 自我驗證資訊與區塊A 重新經單向雜湊函式 計算得之自我驗證資訊進行比對,若比對相同 則認可該區塊A 為通過自我驗證且為可信任 之區塊。將所有經自我驗證後可信任之區塊 A,進行第二階段之防偽驗證。

於進行第二階段驗證前,依嵌入浮水印時 之交換規則,取得區塊A 防偽資訊所在之區 塊B,以上述之自我驗證方式驗證其區塊 B,

判斷是否為可以信任之區塊B。若區塊 B 為不

可信任之區塊,則判定區塊A 為不可信任區 塊。若區塊B 為可信任之區塊即進行第二階段 驗證。將區塊A 重新計算之防偽資訊與區塊 B 之浮水印防偽資訊,進行比對,比對結果若為 相同,則判定區塊A 為通過防偽驗證之可信 任區塊。比對結果若為不同,則判定區塊A 為不可信任區塊。經二階段驗證程序後,對不 可信任之區塊進行影像復原程序,如圖F。

2.5 浮水印復原

本專題以區塊為單位,經驗證程序後,將 其不可信任之影像區塊A,依嵌入浮水印時之 選定規則,取回位於對應區塊C 內之復原資 訊。將其復原資訊所在區塊C 再一次經由驗證 程序判斷其區塊C 是否可以信任之,若復原資 訊所在區塊C 為可信任之區塊,將其浮水印中 之復原資訊取出。

復原資訊所在之區塊若C 為可信任的,則 將取出之復原資訊,以每6 個位元為一組擷 取,將每組資訊以算術左移移動2 個位元,使 其資訊成為8 個位元長度之近似平均值。再以 每2 乘 2 個像素為單位,將其資訊替換掉經驗 證後之不可信任影像區塊A。而若復原資訊所 在之區塊C 為不可信任之區塊,將不取其浮水 印中之復原資訊,改以內插法之方式,使用鄰 近區塊影像進行區塊修補區塊A。

3.實驗結果

實驗一之對象為一張影像大小512×512 像素之影像,如圖G。以 8×8 個像素為固定大 小,將其劃分出多個不重複之影像區塊,以計 算產生數位浮水印。以區塊為單位,對每個區 塊使用單向雜湊函式-MD5 產生其 32 位元長 之驗證資訊及使用其影像區塊之平均值產生 96 位元之復原資訊。並將計算得之浮水印資 訊使用公開金鑰密碼系統-RSA,進行加密。

其受保護之數位影像資訊於傳遞交換過 程中,可能遭受攔截並破壞,而人眼並無法直 覺查覺出其遭竄改之影像區域,此實驗證明本

專題浮水印在不依靠原圖之輔助下,僅依靠嵌 入於影像中之數位浮水印,可正確定位影像竄 改區域,且僅依靠嵌入於影像中之數位浮水印 即可將其破壞區域進行復原。一張原始的數位 影像如圖G(a)。其嵌入數位浮水印後以肉眼無 法直接辨識出其與原圖之差異如圖G(b),

PSNR 值為 37.21dB。而其嵌入浮水印後之數 位影像遭受竄改影像,如圖G(c)。經由浮水印 內容進行影像完整性偵測後,將其竄改區域顯 示出之檢測結果顯示如圖G(d),並將其竄改區 域依浮水印內容進行復原,復原後影像如圖 G(e)。

實驗二之對象為一張影像大小512×752 像素之影像如圖H。以 8×8 個像素為固定大 小,將其劃分出多個不重複之影像區塊,以計 算產生數位浮水印。以區塊為單位,對每個區 塊使用單向雜湊函式-MD5 產生其 32 位元長 之驗證資訊及使用其影像區塊之平均值產生 96 位元之復原資訊。並將計算得之浮水印資 訊使用公開金鑰密碼方法-RSA,進行加密。

Wong[3]提出之影像保護方法,無法忍受 其影像以區塊為單位進行拼貼偽造攻擊,而本 專題實作之浮水印技術,則可有效檢測出其以 區塊為單位進行之偽造攻擊區域。一張原始的 數位影像如圖H(a)。其嵌入數位浮水印後之影 像如圖H(b),其圖 H(b)與圖 H(a)之 PSNR 值 為41.66dB。而其嵌入浮水印之影像遭偽造 後,如圖H(c)。經由浮水印內容進行影像完整 性偵測後,將其偽造區域顯示出,如圖H(d)。

並將其偽造區域依浮水印內容進行復原,復原 後影像如圖H(f)。而圖 H(e)則顯示出 Wong[3]

之浮水印驗證結果,其浮水印方法是無法有效 檢測出偽造攻擊的。

4.結論

本專題提供一實用的脆弱型數位浮水印 技術,將手機拍攝之數位影像自動的保護該影 像之完整性。而由實驗結果得知,本專題之可

自我復原之防偽型浮水印技術,不僅可定位出 影像遭破壞及偽造之影像區域,而且能依內嵌 於影像中之浮水印資訊,將遭破壞及偽造之影 像區域進行復原。

5.參考文獻

[1] S. Walton, “Image Authentication for a Slippery New Age,” Dr. Dobb's Journal, vol. 20, no. 4, pp. 18-26, Apr. 1995.

[2] M. Yeung and F. Mintzer, “Invisible Watermarking for Image Verification,” Journal of Electronic Imaging, vol. 7, no. 3, pp. 576-591, Oct. 1998.

[3] P. W. Wong, “A Public Key Watermark for Image Verification and Authentication,” in Proc.

IEEE int. conf. Image Processing, pp. 425-429, 1998.

[4] R. Rivest, “The MD5 Message-Digest Algorithm,” RFC 1321, 1992.

[5] R. Rivest, A. Shamir, and L. Adleman,

“A Method for Obtaining Digital Signatures and Public-Key Cryptosystems,” Communications of the ACM, vol. 21, no. 2, pp. 120-126, 1978.

圖A 專題概念與目的

圖B 專題浮水印架構

圖C 浮水印產生流程

圖D 32 位元驗證資訊

圖E 浮水印嵌入流程

圖F 驗證及復原流程

圖G 實驗一

圖H 實驗二