時間:2023-01-11 22:28:33
序論:寫作是一種深度的自我表達(dá)。它要求我們深入探索自己的思想和情感,挖掘那些隱藏在內(nèi)心深處的真相,好投稿為您帶來了七篇隱藏技術(shù)范文,愿它們成為您寫作過程中的靈感催化劑,助力您的創(chuàng)作。
關(guān)鍵詞:進(jìn)程;隱藏
中圖分類號:TP309文獻(xiàn)標(biāo)識碼:A文章編號:1009-3044(2008)30-0740-02
Windows Process Hiding Method
SHI Yong-lin,PAN Jin,PANG Xiong-chang,XIE Qing-song
(Department one of Xi'an Communication Institute, Xi'an 710016,China)
Abstract: This paper gives a detail explanation of how to hide process on windows, it introduces three ways to achieve the goal.It also tell the strong and weak point of the different methods.
Key words: process;hiding
進(jìn)程隱藏,也就在用戶不知情的情況下,悄悄執(zhí)行自己的代碼。這一直是病毒、木馬程序設(shè)計(jì)者不斷探求的重要技術(shù),因?yàn)檫@些程序都是見不得光的,都需要較好的隱藏和保護(hù)自己。了解進(jìn)程隱藏技術(shù),是開發(fā)防病毒和木馬軟件的基礎(chǔ),一般來講,一個程序如果采用進(jìn)程隱藏技術(shù)隱藏自己,那大多情況下其一定是一個病毒或木馬等惡意程序。但有些情況下,進(jìn)程隱藏也是某些類型程序所需要的功能,如某些安全控制程序,例如上網(wǎng)控制系統(tǒng),其功能要求只能上單位局域網(wǎng),不能上internet,這種程序需要常駐系統(tǒng),不能停止和卸載,這則要求進(jìn)程能有效保護(hù)和隱藏自己,以防止用戶惡意刪除和卸載。
進(jìn)程隱藏是一個古老但一直成長的技術(shù),一直以來隱藏和破解隱藏的斗爭都在進(jìn)行。從原理上講任何隱藏進(jìn)程因?yàn)槠涠疾荒軓牟僮飨到y(tǒng)的進(jìn)程調(diào)度鏈中刪除,所以說都不能達(dá)到真正的隱藏,但是采用多種隱藏和保護(hù)機(jī)制,的確可以最大限度的保護(hù)程序。
進(jìn)程隱藏現(xiàn)在主要有以下幾種技術(shù):
1) 利用CreateRemoteThread()函數(shù)和代碼注入技術(shù)在宿主進(jìn)程,如explorer中運(yùn)行自己的代碼。
2) 利用API攔截技術(shù)攔截NtQuerySystemInformation函數(shù),過濾掉要隱藏的進(jìn)程,因?yàn)閣indows任務(wù)管理器調(diào)用這個函數(shù)來獲得系統(tǒng)運(yùn)行的進(jìn)程列表,這樣在windows任務(wù)管理器中就隱藏了目標(biāo)進(jìn)程。
3) 把要隱藏的進(jìn)程從系統(tǒng)活動進(jìn)程列表(EPROCESS LIST_ENTRY)中摘除,這樣其他的查找進(jìn)程的函數(shù)都不能獲取目標(biāo)進(jìn)程的信息了。
1 利用CreateRemoteThread進(jìn)行進(jìn)程隱藏
這種方法的主要原理是通過代碼注入技術(shù)把代碼注入到宿主進(jìn)程中,然后通過調(diào)用CreateRemoteThread()函數(shù)在宿主進(jìn)程中生成自己的線程,運(yùn)行自己的代碼??梢钥闯鲞@種方法的一個主要工作是代碼的注入,也就是怎樣才能把自己的代碼映射到宿主進(jìn)程的空間中。
代碼注入技術(shù)分為動態(tài)代碼注入技術(shù)和靜態(tài)代碼注入技術(shù),動態(tài)代碼注入技術(shù)就是在進(jìn)程啟動后或在進(jìn)程啟動時在進(jìn)程的運(yùn)行空間中注入代碼的技術(shù),而靜態(tài)注入技術(shù)就是在PE格式的.exe文件中插入代碼。靜態(tài)注入技術(shù)是病毒感染文件的常用方法,在文獻(xiàn)[1]中有詳細(xì)的敘述。動態(tài)注入技術(shù)也分為直接代碼注入技術(shù)和以dll形式的注入技術(shù),直接代碼注入技術(shù)是利用VirtualAllocEx和CreateRemoteThread兩個API來進(jìn)行的函數(shù)級代碼注入技術(shù),可以采用匯編的形式,這種方法在文獻(xiàn)[1]中的進(jìn)程隱藏一章中有詳細(xì)的講解,也可以采用高級語言如c語言的形式,這種方法有興趣的可以參考文獻(xiàn)[2]。直接代碼注入技術(shù)對注入的代碼有很高的要求,要解決地址重定位等問題,而且注入代碼的大小也受到很大的限制,所以不適用于進(jìn)程級代碼的注入。所以進(jìn)程隱藏一般采用dll形式的動態(tài)代碼注入技術(shù)。
利用CreateRemoteThread進(jìn)行dll形式的動態(tài)代碼注入技術(shù)在[3]中有較詳細(xì)的論述。要在其他的進(jìn)程中注入dll,就要求我們能在那個進(jìn)程中調(diào)用LoadLibrary() API,但我們沒有權(quán)限獲得其他進(jìn)程的執(zhí)行控制權(quán),幸好微軟提供了函數(shù)CreateRemoteThread()可以在其他的進(jìn)程中創(chuàng)建遠(yuǎn)程線程,而恰好線程函數(shù)的原型:
DWORD WINAPI ThreadProc(LPVOID lpParameter);
和LoadLibrary()的原型:
HMODULE WINAPI LoadLibrary(LPCTSTR lpFileName);
HMODULE和DWORD都是雙字節(jié),調(diào)用方式都是WINAPI,LPVOID和LPCTSTR都是雙字節(jié)指針,所以函數(shù)原型是一樣的。從而我們利用CreateRemoteThread()來欺騙操作系統(tǒng),使其執(zhí)行LoadLibrary() API,如下:
hThread = ::CreateRemoteThread(
hProcessForHooking, //要插入dll的進(jìn)程句柄
NULL,
0,
pfnLoadLibrary,// LoadLibrary函數(shù)的地址
"C:\\HookTool.dll", //要注入的dll的全路徑
0,
NULL);
LoadLibrary函數(shù)的地址因?yàn)槠渌诘腒ernel32.DLL的映射地址在所有進(jìn)程中是確定的,所以其值可以通過調(diào)用GetProcAddress()獲得。
這種進(jìn)程隱藏的方法要把進(jìn)程執(zhí)行的代碼封裝進(jìn)dll中,這可能不能滿足某些程序設(shè)計(jì)者的要求,而且經(jīng)測試,瑞星等殺毒軟件都禁止這種方法的代碼注入,所以這種隱藏技術(shù)很難成功。
2 利用API攔截技術(shù)進(jìn)行進(jìn)程隱藏
API攔截的主要目的是在其他應(yīng)用程序調(diào)用API之前將其攔截,由攔截者先處理傳遞的參數(shù)數(shù)據(jù),然后決定是否再調(diào)用原來的API。比如API
BOOL TextOutA( HDC hdc, int nXStart,int nYStart,LPCTSTR lpString, int cbString);
在其他程序調(diào)用這個API之前,攔截程序可以先捕獲這個調(diào)用,先對參數(shù)等進(jìn)行處理,比如將cbString翻譯為中文等,然后再調(diào)用原來的TextOutA進(jìn)行文本輸出,這樣輸出的文本就變成中文了。
因?yàn)槿蝿?wù)管理器是調(diào)用ntdll.dll中的NtQuerySystemInformation()API來獲得進(jìn)程列表的,所以只要我們先截獲這個調(diào)用,在我們的替換函數(shù)中先調(diào)用原來的NtQuerySystemInformation,從返回的進(jìn)程信息鏈表中去除要隱藏的目標(biāo)進(jìn)程的信息,然后把改變的進(jìn)程列表返回給任務(wù)管理器,那么目標(biāo)進(jìn)程則從任務(wù)管理器中隱藏。NtQuerySystemInformation函數(shù)的原形如下:
NTSTATUSNTAPI ZwQuerySystemInformation(
INULONGSystemInformationClass,
INPVOIDSystemInformation,
INULONGSystemInformationLength,
OUT PULONG ReturnLength
);
其中SystemInformation中返回的就是如下結(jié)構(gòu)體構(gòu)成的進(jìn)程信息鏈表。
struct _SYSTEM_PROCESSES
{ULONGNextEntryDelta;
ULONGThreadCount;
......
UNICODE_STRING ProcessName;
KPRIORITYBasePriority;
ULONGProcessId;
......};
其中ProcessName指向的就是進(jìn)程的可執(zhí)行文件名,我們可以通過可執(zhí)行文件名或進(jìn)程ID ProcessId進(jìn)行進(jìn)程過濾。
從上面介紹可以看出,采用這種方法進(jìn)行進(jìn)程隱藏的關(guān)鍵是怎樣進(jìn)行API攔截,API攔截可以在用戶層(ring3)進(jìn)行,也可以在內(nèi)核層(ring0)中進(jìn)行。用戶層的API攔截技術(shù)可以參考文獻(xiàn)[4],這里詳細(xì)介紹了用戶層API攔截的各種技術(shù)。內(nèi)核層的API攔截技術(shù)可以參考文獻(xiàn)[5] 監(jiān)控Native API調(diào)用一章,它的原理是通過替換windows系統(tǒng)服務(wù)描述符表中的Native API處理例程的入口地址來截獲API。
這種技術(shù)可靠性好,容易實(shí)現(xiàn),并且可以進(jìn)行其他功能的隱藏,如注冊表項(xiàng)隱藏,文件隱藏等,還可以通過截獲進(jìn)程控制API來防止殺死進(jìn)程,所以可以更好的隱藏和保護(hù)進(jìn)程,所以這種方法使用的較廣泛。
3 修改系統(tǒng)活動進(jìn)程列表
Window系統(tǒng)內(nèi)部維護(hù)了一個活動進(jìn)程鏈表,其節(jié)點(diǎn)結(jié)構(gòu)體如下:
typedef struct _EPROCESS
{
/*000*/ KPROCESS Pcb;
/*06C*/ NTSTATUS ExitStatus;
/*070*/ KEVENT LockEvent;
/*080*/ DWORD LockCount;
/*084*/ DWORD d084;
/*088*/ LARGE_INTEGER CreateTime;
/*090*/ LARGE_INTEGER ExitTime;
/*098*/ PVOID LockOwner;
/*09C*/ DWORD UniqueProcessId;
/*0A0*/ LIST_ENTRY ActiveProcessLinks;
......
} EPROCESS;
typedef struct _LIST_ENTRY
{
struct _LIST_ENTRY *Flink;
struct _LIST_ENTRY *Blink;
} LIST_ENTRY;
系統(tǒng)通過查找這個鏈表獲得系統(tǒng)中進(jìn)程的列表,所以如果把要隱藏的進(jìn)程從這個鏈表中去除,則可以從系統(tǒng)中隱藏此進(jìn)程.查找可以通過進(jìn)程ID UniqueProcessId進(jìn)行。
這種方法也是既可以在內(nèi)核中進(jìn)行,也可以在應(yīng)用層進(jìn)行。
(下轉(zhuǎn)第744頁)
(上接第741頁)
在內(nèi)核層采用這種方法隱藏進(jìn)程比較簡單,這個鏈表的表頭存儲在系統(tǒng)變量PsActiveProcessHead中,但這個變量windows沒有輸出,但我們可以通過PsGetCurrentProcess()函數(shù)獲取當(dāng)前進(jìn)程的EPROCESS結(jié)構(gòu)體指針,然后通過ActiveProcessLinks遍歷列表來查找要隱藏的進(jìn)程。這里需要注意的是不同版本的windows系統(tǒng)的EPROCESS結(jié)構(gòu)可能不同。
在用戶層采用這種方法的原理也很簡單,因?yàn)閣indows系統(tǒng)在物理內(nèi)存中的位置是固定的,所以活動進(jìn)程鏈表的首地址也是固定的,通過調(diào)用ZwOpenSection()函數(shù)讀取和修改物理內(nèi)存,然后修改的鏈表的相應(yīng)位置來去除目標(biāo)進(jìn)程。在用戶層采用這種方法隱藏進(jìn)程可靠性較差,因?yàn)楹蛍indows系統(tǒng)的版本關(guān)系太密切,不同windows版本中的很多參數(shù)都不同,如鏈表頭的位置,window內(nèi)存的映像等,所以需要修改程序的很多參數(shù),而且很多殺毒軟件都禁止對物理內(nèi)存的直接讀寫,所以很多情況下都不能達(dá)到對進(jìn)程的隱藏。
4 總結(jié)
本文從原理上介紹了進(jìn)程隱藏的幾種方法,其中比較可靠和常用的是利用API攔截技術(shù)和在內(nèi)核層修改活動進(jìn)程鏈表兩種方法。就像在本文開始所講到的一樣,隱藏都是相對的,只要進(jìn)程還在系統(tǒng)中運(yùn)行,就必須服從windows的調(diào)度,那么其在系統(tǒng)中就一定可以查找得到,所以一些系統(tǒng)工具,如IceSword等就可以查找到隱藏的進(jìn)程,但我們可以采用多種技術(shù)的復(fù)合,如三線程進(jìn)程保護(hù)機(jī)制,文件隱藏機(jī)制等,增加進(jìn)程的防殺功能,可以從一定程度上保護(hù)進(jìn)程。
參考文獻(xiàn):
[1] 羅云彬.Windows環(huán)境下32位匯編語言程序設(shè)計(jì)[M].電子工業(yè)出版社,200,10.
[2] Ciro Sisman Pereira.Portable Executable (P.E.) Code Injection: Injecting an Entire C[DB/OL].
[3] Jeffrey Ritcher.Load Your 32-bit DLL into Another Process's Address Space Using INJLIB[J].MSJ May 1994.
[4] 史永林.Windows API攔截技術(shù)[J].電腦知識與技術(shù) 2008,3(9):
關(guān)鍵詞:信息;隱藏技術(shù);相關(guān)研究
DOI:10.16640/ki.37-1222/t.2016.11.135
0 引言
隨著科技的進(jìn)步,通信技術(shù)的飛躍式發(fā)展,計(jì)算機(jī)互聯(lián)網(wǎng)的迅速普及,使得越來越多的人和公司通過網(wǎng)絡(luò)傳輸大量的數(shù)據(jù)文件,但是由于互聯(lián)網(wǎng)具有連接形式多樣性以及開放性和互聯(lián)性,使得這些互聯(lián)網(wǎng)上傳輸?shù)臄?shù)據(jù)文件很容易受到攻擊或竊取,如果涉及國家安全和軍隊(duì)建設(shè)乃至個人的隱私信息方面,信息安全問題將變的更加敏感。查閱文獻(xiàn),發(fā)現(xiàn)現(xiàn)階段研究人員關(guān)注的熱點(diǎn)有倆個,即信息加密和信息隱藏,其中信息隱藏就是把需要傳遞的秘密信息進(jìn)行偽裝,隱藏在普通文件中,即使文件被攻擊、竊取,也不易發(fā)現(xiàn)其中的隱藏信息,可以有效的加強(qiáng)信息在傳輸過程中的安全性,因此有必要對信息隱藏技術(shù)進(jìn)行進(jìn)一步的研究。
1 信息隱藏技術(shù)的含義
信息隱藏是利用人類對多媒體數(shù)字信號不敏感,將秘密信息隱藏在一個不被關(guān)注的多媒體信號中,這樣敏感信息不會被發(fā)現(xiàn),而且也不會影響到多媒體信號的感覺效果和使用價值,當(dāng)我們利用這樣的技術(shù)傳輸敏感信息時,可以對第三方起到混淆的作用。一般來說隱秘信息的載體選擇有多種類型,比如我們經(jīng)常見到的圖像、聲音、視頻還有文檔都可以作為敏感信息的載體,這樣做的目的是不引人注目,其次即使載體信息被截獲,也很難對隱藏信息進(jìn)行提取,安全性得到了極大的提高。
2 信息隱藏的具體方法
參考傳統(tǒng)加密技術(shù)方法,我們有保留的基礎(chǔ)上對信息隱藏技術(shù)進(jìn)行了一定的改進(jìn)。常用的具體方法有數(shù)字水印技術(shù)、疊像技術(shù)以及替聲技術(shù)等。其中,疊像技術(shù)是1994年提出的可視密碼術(shù)(VisualCryptography),用有意義的明文圖像代替原來的隨機(jī)噪聲圖象,使之更具安全性。數(shù)字水印(Digital Watermarking)技術(shù)是將一些標(biāo)識信息(即數(shù)字水?。┲苯忧度霐?shù)字載體中,但不影響原載體的使用價值,也不容易被人的知覺系統(tǒng)覺察。通過這些隱藏在載體中的信息,可以達(dá)到確認(rèn)內(nèi)容創(chuàng)建者、購買者、傳送隱秘信息或者判斷載體是否被篡改等目的。替聲技術(shù)與疊像技術(shù)很相似,它是通過對聲音信息的處理,使得原來的對象和內(nèi)容都發(fā)生改變,從而達(dá)到將真正的聲音信息隱藏起來的目的。替聲技術(shù)可以用于制作安全電話,使用這種電話,可以對通信內(nèi)容加以保密。
(1)替換技術(shù)。把秘密信息偽裝成載體榮譽(yù)部分,進(jìn)行替換后載體的可視性并沒有被破壞,常用的手段有最小有效位替換、偽裝隨機(jī)替換,載體的奇偶位對換,圖像的調(diào)色板替換等。
(2)變換技術(shù)。將秘密信息做正交變換,利用擴(kuò)頻技術(shù)把變換后的秘密信息隱藏到載體的變換域中。這種技術(shù)的優(yōu)點(diǎn)是,它通過不同的空間頻率敏感的感官系統(tǒng)來確定秘密信息具體的嵌入位置及嵌入強(qiáng)度,有效的對嵌入信息進(jìn)行了隱藏。
(3)擴(kuò)頻技術(shù)。當(dāng)對隱藏秘密信息的載體做過濾操作的時候,秘密信息可能被部分過濾,造成秘密信息丟失。在嵌入秘密信息時進(jìn)行多次重復(fù)的代碼擴(kuò)展,對載體進(jìn)行過濾時,秘密信息保留的概率大大增加。信息數(shù)據(jù)率高許多倍偽隨機(jī)碼把包含基帶信號的頻譜數(shù)據(jù)進(jìn)行擴(kuò)展,形成寬頻帶低功率譜密度的信號。
3 信息隱藏的特點(diǎn)
信息隱藏有不同的分支,但所有分支都有很多共同的特點(diǎn)。第一,信息隱藏系統(tǒng)必須保證隱藏信息的不可見性,即在把秘密信息嵌入載體的過程中不能留下任何的痕跡,如果這一過程影響到圖像質(zhì)量,圖像信息嵌入價值將減少,信息隱藏系統(tǒng)安全性降低。 其次,在對載體進(jìn)行矢量變換操作以后,載體中的隱藏信息任然可以保持完整,并可以極大的概率被提取。 第三,要實(shí)現(xiàn)隱藏信息在載體中的不可見性,隱藏信息的長度與載體的長度必須保持一個適度的量,因?yàn)檩d體容量與信息隱藏率是正比關(guān)系的。 第四,要足夠安全,即攻擊者不能有效的讀取和修改載體中的秘密信息。
4 網(wǎng)絡(luò)通信中信息隱藏技術(shù)的應(yīng)用
網(wǎng)絡(luò)通信中往往根據(jù)信息載體的不同,利用文本、語音、視頻以及二進(jìn)制的隱寫,把秘密信息隱藏在具體的公開轉(zhuǎn)播的數(shù)字多媒體信號中,使得秘密信息可以在網(wǎng)絡(luò)中進(jìn)行安全有效的傳輸?shù)囊环N技術(shù)。
(1)數(shù)據(jù)保密。在公司之間進(jìn)行談判時,可能會利用網(wǎng)絡(luò)傳遞一些敏感的信息,比如雙方的協(xié)議、合同、報(bào)價等重要文件,包括數(shù)字簽名,為了保護(hù)這些敏感信息的安全性,可以把這些信息以隱藏的形式傳遞給對方,這樣我們就可以在非相關(guān)人員難以發(fā)覺的狀態(tài)下完成彼此信息交流。
(2)數(shù)據(jù)的不可抵賴性。在網(wǎng)絡(luò)上進(jìn)行談判,簽訂協(xié)議等行為,由于不能互相見面,為保證雙方不能否認(rèn)自己做過的承諾并且接受對方傳遞的條款,需要在傳遞的信息中加入簽名水印,確認(rèn)其行為目的。
(3)數(shù)據(jù)的完整性。為保證我們接收到的信息是真實(shí)的,沒有在網(wǎng)絡(luò)傳遞的過程中被篡改,可以在傳遞的具體多媒體數(shù)據(jù)中嵌入一個完整信息,收到多媒體數(shù)據(jù)后可以對完整信息進(jìn)行提取,用于確定此多媒體數(shù)據(jù)是否被篡改。
信息隱藏技術(shù)是目前學(xué)術(shù)界倍受關(guān)注的一個熱點(diǎn)領(lǐng)域,由于現(xiàn)代通信技術(shù)的爆炸式發(fā)展,互聯(lián)網(wǎng)飛速普及,每時每刻都有海量的信息在網(wǎng)絡(luò)上傳輸,對敏感信息安全進(jìn)行保護(hù)變的更加具有現(xiàn)實(shí)意義。在眾多研究人員的不懈努力下,信息隱藏技術(shù)取得很多的成果,但是,信息隱藏技術(shù)作為一個跨學(xué)科的技術(shù)體系,我們對它的研究還不是很完善,還有許多的問題沒有解決。信息隱藏技術(shù)的成熟性、實(shí)用性還與密碼加密的網(wǎng)絡(luò)傳輸技術(shù)相比較,還有很大差距。但是,其潛在價值是無法估量的,在未來甚至是不可不取代的,我們相信,隨著技術(shù)的進(jìn)一步發(fā)展,信息隱藏技術(shù)將涌現(xiàn)出更多的思路和辦法,將對信息安全系統(tǒng)的未來扮演重要的角色。
參考文獻(xiàn):
[1]王育民,張彤,黃繼武.信息隱藏――理論與技術(shù)[M].北京清華大學(xué)出版社,2006.
[2]丁瑋,齊東旭.數(shù)字圖像變換及信息隱藏與偽裝技術(shù)[F].計(jì)算機(jī)學(xué)報(bào),1998,21(09):838-843.
[關(guān)鍵詞] 信息隱藏信息安全電子商務(wù)數(shù)據(jù)保密防偽
通常人們認(rèn)為對信息加密就可以保證通訊的安全,但是在網(wǎng)絡(luò)傳輸中僅僅使用加密技術(shù)通常是不夠的?,F(xiàn)代密碼學(xué)開發(fā)出來的加解密系統(tǒng)不管是對稱密鑰系統(tǒng)(如DES),還是安全性更高的公開密鑰系統(tǒng)(RSA),經(jīng)過加密算法處理所生成的密文具有隨機(jī)性、不可讀,反而明確提示了保密信息的存在,因而很容易引起監(jiān)控者的注意,并以此為依據(jù)進(jìn)行對密文的破譯或?qū)Πl(fā)送者和接收者的攻擊。采用加密技術(shù)的另一個潛在缺點(diǎn)是隨著計(jì)算機(jī)硬件的迅速發(fā)展,具有并行計(jì)算能力的破解技術(shù)的日益成熟,僅通過增加密鑰長度來達(dá)到增強(qiáng)安全性已不再是唯一的可行方法。因此,近年來國際上出現(xiàn)了信息隱藏技術(shù),它是一種不同于密碼術(shù)的技術(shù),它在電子商務(wù)中安全體系中必將起到重要作用。
一、信息隱藏技術(shù)的含義與方法
信息隱藏技術(shù)(Information Hiding),也稱作數(shù)據(jù)隱藏(Data Hiding),它是集多學(xué)科理論與技術(shù)于一身的新興技術(shù)領(lǐng)域。信息隱藏技術(shù)主要是指將特定的信息嵌入數(shù)字化宿主信息(如文本、數(shù)字化的聲音、圖像、視頻信號等)中,它的目的不在于限制正常的信息存取和訪問,而在于保證隱藏的信息不引起監(jiān)控者的注意和重視,從而減少被攻擊的可能性,在此基礎(chǔ)上再使用密碼術(shù)來加強(qiáng)隱藏信息的安全性,因此信息隱藏比信息加密更為安全。應(yīng)該注意到,密碼術(shù)和信息隱藏技術(shù)不是互相矛盾、互相競爭的技術(shù),而是相互補(bǔ)充的技術(shù),他們的區(qū)別在于應(yīng)用的場合不同,對算法的要求不同,但可能在實(shí)際應(yīng)用中需要互相配合。特定的信息一般就是保密信息,信息隱藏的歷史可以追溯到古老的隱寫術(shù),但推動了信息隱藏的理論和技術(shù)研究始于1996年在劍橋大學(xué)召開的國際第一屆信息隱藏研究會,之后國際機(jī)構(gòu)在信息隱藏領(lǐng)域中的隱寫術(shù)、數(shù)字水印、版權(quán)標(biāo)識、可視密碼學(xué)等方面取得大量成果。
信息隱藏是一個十分活躍的研究領(lǐng)域,雖然其載體可以是文字、圖像、語音或視頻等不同格式的文件,但使用的方法沒有本質(zhì)的區(qū)別。因此,下面將以信息隱藏技術(shù)在圖像中的應(yīng)用即遮掩消息選用數(shù)字圖像的情況為例進(jìn)行說明。
在圖像中應(yīng)用的信息隱藏技術(shù)基本上可分為兩大類:時域法或頻域法。時域法就是直接改變圖像元素的值,一般是在圖像的亮度或色帶中加入隱藏的內(nèi)容。這種方法比較有代表性的是最不重要比特位(the Least Significant Bits,LSB)方法,該方法也是最早被應(yīng)用的信息隱藏方法。遮掩消息的LSB直接被待隱消息的比特位或兩者之間經(jīng)過某種邏輯運(yùn)算的結(jié)果所代替。LSB算法的主要優(yōu)點(diǎn)是可以實(shí)現(xiàn)高容量和較好的不可見性。但是該算法容易被第三方發(fā)現(xiàn)并得到,遭到破壞,而對圖像的各種操作如壓縮、剪切等,都會使算法的可靠性受到影響。為了增強(qiáng)算法的性能,提出了各種改進(jìn)的方法,如利用偽序列,以“隨機(jī)”的順序修改圖像的疊像技術(shù)(LSM);在使用密鑰的情況下,才能得到正確的嵌入序列等。頻域法是利用某種數(shù)學(xué)變換,將圖像用頻域表示,通過更改圖像的某些頻域系數(shù)加入待隱信息,然后再利用反變換來生成隱藏有其他信息的圖像。各種不同的數(shù)學(xué)變換都可以被使用,目前已有的方法主要集中在小波變換、頻率變換、DCT(低頻分量)變換等。
二、信息隱藏技術(shù)在電子商務(wù)中的應(yīng)用
目前信息隱藏技術(shù)在電子商務(wù)中的應(yīng)用主要體現(xiàn)在以下幾個方面:
1.數(shù)據(jù)保密
在具體電子商務(wù)活動中,數(shù)據(jù)在Internet上進(jìn)行傳輸一定要防止非授權(quán)用戶截獲并使用,如敏感信息、談判雙方的秘密協(xié)議和合同、網(wǎng)上銀行交易中的敏感數(shù)據(jù)信息、重要文件的數(shù)字簽名和個人隱私等等。另外,還可以對一些不愿為別人所知道的內(nèi)容使用信息隱藏的方式進(jìn)行隱藏存儲。
2.數(shù)據(jù)的不可抵賴性
在網(wǎng)上交易中,交易雙方的任何一方不能抵賴自己曾經(jīng)做出的行為,也不能否認(rèn)曾經(jīng)接收到的對方的信息,這是交易系統(tǒng)中的一個重要環(huán)節(jié)。這可以使用信息隱藏技術(shù)中的水印技術(shù),在交易體系的任何一方發(fā)送或接收信息時,將各自的特征標(biāo)記以水印的形式加入到傳遞的信息中,這咱水印應(yīng)是不能被去除的,可達(dá)到確認(rèn)其行為的目的。
3.防偽
商務(wù)活動中的各種票據(jù)的防偽也是信息隱藏技術(shù)的用武之地。在數(shù)字票據(jù)中隱藏的水印經(jīng)過打印后仍然存在,可以通過再掃描回?cái)?shù)字形式,提取防偽水印,以證實(shí)票據(jù)的真實(shí)性。
4.數(shù)據(jù)的完整性
對于數(shù)據(jù)完整性的驗(yàn)證是要確認(rèn)數(shù)據(jù)在網(wǎng)上傳輸或存儲過程中并沒有被竄改,可通過使用脆弱水印技術(shù)保護(hù)的媒體一旦被竄改就會破壞水印,從而很容易被識別。
三、隱藏技術(shù)的未來發(fā)展
關(guān)鍵詞:信息隱藏;隱寫分析;算法;研究
中圖分類號:TP391.41 文獻(xiàn)標(biāo)識碼:A 文章編號:1674-7712 (2013) 20-0000-01
隨著計(jì)算機(jī)以及網(wǎng)絡(luò)技術(shù)的高速發(fā)展,網(wǎng)絡(luò)時代和數(shù)字時代己經(jīng)拉開了帷幕,但同時也跟我們帶來了很多問題。比如一些絕密的信息以及文件能否在互聯(lián)網(wǎng)中安全傳輸;個人的隱私能否得到相應(yīng)的保障;一些公司、企業(yè)的商業(yè)機(jī)密會不會被他人竊??;多媒體的版權(quán)維護(hù)問題等。信息安全得到了國內(nèi)外各界的高度重視。
由此,一門新興的學(xué)科——信息隱藏(Information Hiding)應(yīng)運(yùn)而生。它的主要原理是利用了人類的感覺器官對數(shù)字信號的冗余,從而把一個有用的消息(即隱秘信息)偽裝隱藏在另外一個載體信息中,并且這個載體信息是可以公開的在信道里面?zhèn)鬏數(shù)?,隱秘之后就可以得到一個隱蔽載體,從而能夠?qū)崿F(xiàn)隱秘信息在信道中的隱蔽通信。在傳送過程中,第三方很難知道一個看似普通信息中是否隱含了其他的隱秘信息,就算知道也很難將其提取出來。
信息隱藏技術(shù)目前主要包括兩個方面:數(shù)字水印和信息隱寫。數(shù)字水印主要是對數(shù)字媒體起標(biāo)識以及版權(quán)保護(hù)作用;信息隱寫則是將隱秘信息偽裝隱藏于其它的載體信息中。很多地方將數(shù)字水印技術(shù)作為一個單獨(dú)的分支拿出來做研究,同樣本文對數(shù)字水印也不做過多研究。信息隱藏技術(shù)是一把雙刃劍,一方面信息隱藏技術(shù)能夠?yàn)檎?、軍事以及?jīng)濟(jì)的機(jī)密信息在互聯(lián)網(wǎng)中的傳輸提供可靠的保障,個人在公共網(wǎng)絡(luò)中的安全和隱私也可以得到很好的保護(hù);另一方面,也有可能被某些懷有不當(dāng)目的的個人或者組織所利用,在網(wǎng)絡(luò)中傳播一些非法或破壞性的信息,從而對社會的公共安全以及國家安全造成了很大的危害。因此我們在學(xué)習(xí)、研究信息隱藏技術(shù)里這個“矛”的時候,也應(yīng)該學(xué)習(xí)、研究其“盾”(隱寫分析技術(shù))。
一、信息隱藏技術(shù)
信息隱藏技術(shù)和傳統(tǒng)的密碼技術(shù)相比,相同點(diǎn)是二者都是為了保證隱秘信息的安全。不同的則是密碼技術(shù)是對秘密信息進(jìn)行特殊的編碼從而形成了第三方不可識別的密文。信息隱藏是將秘密信息偽裝隱藏于另外一個可以公開傳遞的載體信息之中,通過此載體信息在網(wǎng)絡(luò)上傳輸來傳遞隱秘信息。傳統(tǒng)密碼技術(shù)由于密文是雜亂的,所以很容易被第三方辨認(rèn)出來,這樣的話第三方的目的就很明確了,一旦截獲了密文,全力去破解即可。但是對信息隱藏技術(shù)來說,僅通過視覺無法判斷出載體信息是否含有隱秘信息,因此面對互聯(lián)網(wǎng)的海量信息,第三方在短時間內(nèi)很難辨別出數(shù)字媒體是否包含有隱秘信息。因而跟傳統(tǒng)的密碼技術(shù)相比信息隱藏技術(shù)能更有效地保證隱秘信息的安全。信息隱藏技術(shù)模型如圖1所示,隱秘信息通過密鑰偽裝隱藏到載體信息之中,然后通過公共信道傳輸給接收對象,接收對象接收到信息以后根據(jù)密鑰就可以提取出想要得到的隱秘信息。在公共信道中,首先第三方很難察覺到載體信息中有隱秘信息,就算察覺到了,也很難提取出隱秘信息。
信息隱藏技術(shù)發(fā)展至今出現(xiàn)了許多經(jīng)典的算法,在圖像中嵌入隱秘信息的算法大致可以分為空域算法和變換域算法兩種??沼蚍椒òㄊ褂肔SB編碼、用圖像處理或壓縮、變換算法對圖像的屬性進(jìn)行修改。基本原理就是利用圖像本身的冗余性和人眼對圖像顏色或者灰度的分辨率的感官特性實(shí)現(xiàn)的信息隱藏。隱藏后并不改變載體圖像的使用價值和基本特征,隱秘前后僅靠肉眼基本看不出圖像差別。經(jīng)典算法大概包括:最低有效位算法,調(diào)色板方法以及Patchwork算法。而對于變換域的隱藏方法主要是使用離散傅立葉變換(DFT),離散余弦變換(DCT)或者小波變換在圖像中嵌入信息。變換可以基于整個圖像,也可以對整個圖像進(jìn)行分塊操作。經(jīng)典算法大概包括:DFT變換域算法,DCT變換域算法以及DWT變換域算法。
二、隱寫分析技術(shù)
自古有矛就有盾,隱寫分析技術(shù)是指對被表明為正常的圖像、音頻、視頻等多媒體信號進(jìn)行檢測,判斷其中是否嵌有秘密信息,甚至只是指出媒體中是否存在秘密信息的可能性大小。它的基本原理是根據(jù)載體信息在隱寫前后的統(tǒng)計(jì)特性的變化,從而能夠分辨出載體信息是否包含有隱秘信息。一般原始圖像的特性是比較連續(xù)、光滑的而且像素之間具有較高的相關(guān)性。而隱秘圖像一般都是隨機(jī)的比特流,而且與原始的載體信息之間相互獨(dú)立,所以圖像相鄰像素之間的相關(guān)性將會大大降低。隱寫分析技術(shù)從某種程度上說其實(shí)就是兩類分類的模式識別問題,其關(guān)鍵是特征的選擇,好的特征能較好的幫助我們判斷出載體是否含有隱秘信息。
針對某種特定隱寫術(shù)的隱寫分析可分為空域分析和變換域分析??沼螂[寫分析主要攻擊對象是空域LSB隱寫算法,主要包括有EZStego,s-Tool等。經(jīng)典的分析算法包括直方圖分析法、x2分析法、RS分析法等。變換域隱寫分析的主要攻擊對象為DCT域隱寫術(shù),它包括有Jsteg、Outguess、F5以及MB等,變換域隱寫分析主要思路是DCT系數(shù)在隱寫前后特性會發(fā)生變化。通用隱寫分析主要根據(jù)圖像隱寫前后總體或者局部統(tǒng)計(jì)特性的變化,然后選取統(tǒng)計(jì)特征向量進(jìn)行訓(xùn)練,最后通過分類器進(jìn)行有效分類。
三、總結(jié)和展望
綜上所述,信息隱藏技術(shù)與隱寫分析技術(shù)已成為了當(dāng)下一個熱點(diǎn)問題,應(yīng)用于越來越多的領(lǐng)域,二者相互制約,相互促進(jìn)。但是它們現(xiàn)在都還處在一個發(fā)展階段,還有很多問題需要我們?nèi)ソ鉀Q。對隱寫分析來說,現(xiàn)在有很多種方法可以檢測出圖像是否含有隱秘信息,但要估計(jì)出隱秘信息的長度,甚至提取出隱秘信息,現(xiàn)在仍然難以做到,這也將是以后研究工作的重點(diǎn)和難點(diǎn)。同時特征的選取,分類器的設(shè)計(jì)以及降維技術(shù)都還存在可以優(yōu)化的空間。
參考文獻(xiàn):
目前,隨著物聯(lián)網(wǎng)技術(shù)的不斷成熟和逐步應(yīng)用,人們越來越關(guān)心它的安全問題。尤其是物聯(lián)網(wǎng)的感知前端射頻識別系統(tǒng),使用的是無線傳輸技術(shù),相對于有線傳輸來說,其工作環(huán)境是開放的,不穩(wěn)定的。為了保護(hù)應(yīng)答器和讀寫器之間的信息傳輸,目前普遍采用的是雙向認(rèn)證和加密結(jié)合的方法,對認(rèn)證雙方通信的所有數(shù)據(jù)進(jìn)行加密,從而確保系統(tǒng)的安全性。但是由于物聯(lián)網(wǎng)中應(yīng)答器數(shù)目巨大,在每個應(yīng)答器中添加加解密電路會造成整個系統(tǒng)硬件實(shí)現(xiàn)的成本的大幅增加,因此不利于物聯(lián)網(wǎng)技術(shù)的普遍應(yīng)用。該文試圖避免繁瑣的加密過程,使用相對簡單的數(shù)據(jù)隱藏技術(shù)保護(hù)應(yīng)答器和讀寫器之間傳輸?shù)拿舾行畔?,從而降低系統(tǒng)的實(shí)現(xiàn)成本。
1 數(shù)據(jù)隱藏技術(shù)
網(wǎng)絡(luò)技術(shù)的快速發(fā)展為信息傳播和利用提供了極大的便利,同時也面臨著巨大的挑戰(zhàn)的安全問題。在傳輸過程中如何保護(hù)信息安全已經(jīng)成為人類的重要主題之一。傳統(tǒng)的解決方法是加密消息的傳播。然而,隨著計(jì)算機(jī)處理速度的提高和并行處理的發(fā)展,不再是不可能破解加密算法。因此,尋找一個新的方法來解決信息安全傳輸?shù)膯栴}已成為信息時代的重要問題之一。
數(shù)據(jù)隱藏和加密都是常用的方法來保持?jǐn)?shù)據(jù)的機(jī)密性。與主要研究如何使用特殊編碼方法來加密機(jī)密信息使其成為形式無法辨認(rèn)的密文的數(shù)據(jù)加密不同,數(shù)據(jù)隱藏更多關(guān)注如何用一個公共信息來隱藏敏感信息,然后通過公開渠道來傳輸機(jī)密信息。也就是說通過開放的信息傳輸來傳輸隱秘信息。對于加密通信,竊聽者可以截取密文、解碼或者在接收方接收信息之前毀掉信息,這就會影響機(jī)密信息的安全。但使用數(shù)據(jù)隱藏技術(shù),竊聽者很難判斷機(jī)密信息是否存在于公開信息中,無法判斷是否竊聽到了機(jī)密信息,因此可以保證機(jī)密信息的安全。
2 數(shù)據(jù)隱藏技術(shù)在物聯(lián)網(wǎng)安全中的應(yīng)用
正是由于數(shù)據(jù)隱藏技術(shù)的秘密性,使得它應(yīng)用于物聯(lián)網(wǎng)用戶安全的保護(hù)方案中成為可能。該文在物聯(lián)網(wǎng)射頻識別應(yīng)答器和讀寫器之間雙向認(rèn)證的基礎(chǔ)上引入數(shù)據(jù)隱藏技術(shù),對物聯(lián)網(wǎng)用戶傳輸?shù)男畔⒑妥陨砩矸菪畔⑦M(jìn)行保護(hù),具體方案設(shè)計(jì)如下:
2.1 方案設(shè)計(jì)初始化
為了節(jié)約實(shí)現(xiàn)成本,在射頻識別系統(tǒng)中使用被動標(biāo)簽。即每次讀者首先向標(biāo)簽發(fā)送認(rèn)證請求和提供能量來激活它來響應(yīng)請求。在標(biāo)簽中要有一個哈希函數(shù)實(shí)現(xiàn)電路,并且該哈希函數(shù)是滿足強(qiáng)無碰撞性要求的。標(biāo)簽具有休眠模式。讀寫器會在標(biāo)簽完成身份驗(yàn)證之后執(zhí)行所有可能的操作,然后發(fā)送信號通知標(biāo)簽進(jìn)入休眠模式,不再響應(yīng)任何信號,直到標(biāo)簽被下一個讀寫器再次激活。在讀寫器中添加一些硬件電路實(shí)現(xiàn)數(shù)據(jù)隱藏算法。由于需要隱藏的消息的長度很短,因此該硬件電路應(yīng)該是簡單并且易于實(shí)現(xiàn)的。同時,相應(yīng)的隱藏?cái)?shù)據(jù)恢復(fù)電路應(yīng)裝備在標(biāo)簽中。后臺數(shù)據(jù)庫標(biāo)識和其散列值是存儲在讀寫器中的。為了保護(hù)用戶的ID信息,后臺數(shù)據(jù)庫應(yīng)該能夠?qū)崿F(xiàn)用戶ID的自動刷新。
在初始狀態(tài),應(yīng)答器存儲自己的真實(shí)身份ID和數(shù)據(jù)庫標(biāo)識符B。讀寫器存儲標(biāo)識符與B相匹配的自身標(biāo)識符B’及其散列值H(B’)。在后臺數(shù)據(jù)庫中包含所有的應(yīng)答器ID和每個ID的散列值H(ID)。
2.2 方案執(zhí)行過程
讀寫器、標(biāo)簽和后段數(shù)據(jù)庫之間的通信過程描述如下:
1) 讀寫器向標(biāo)簽發(fā)送請求認(rèn)證的信號Q1;
2) 標(biāo)簽接收到Q1,計(jì)算它所屬數(shù)據(jù)庫的標(biāo)識T的哈希值H(T),并且使用數(shù)據(jù)隱藏算法將H(T)變成M1并把它發(fā)送給讀寫器;
3) 讀寫器收到M1,使用相應(yīng)的算法從M1中提取出H(T)。將H(T)和自己存儲的H(T’)進(jìn)行對比,如果一致,它將會發(fā)送進(jìn)一步認(rèn)證請求Q2給標(biāo)簽。如果結(jié)果不一致,則判斷該標(biāo)簽不屬于本系統(tǒng)的標(biāo)簽,認(rèn)證結(jié)束。讀寫器將發(fā)送認(rèn)證請求Q1給下一個標(biāo)簽;
4) 標(biāo)簽收到Q2。將自身身份標(biāo)識ID進(jìn)行哈希運(yùn)算,得到H(ID),再把它隱藏到文本M2中并發(fā)送給讀寫器;
5) 讀寫器將M2轉(zhuǎn)發(fā)給后端數(shù)據(jù)庫;
6) 后端數(shù)據(jù)庫收到M2后獲取H(ID)。搜索自己的數(shù)據(jù)庫,查找是否有一個標(biāo)簽的IDi能夠滿足H(IDi)=H(ID)。如果找到,標(biāo)簽認(rèn)證成功。后臺數(shù)據(jù)庫會為這個已經(jīng)認(rèn)證的標(biāo)簽產(chǎn)生一個新的身份信息ID’,并存儲在數(shù)據(jù)庫中IDi的記錄中。最后將IDi和ID’發(fā)送給讀寫器。否則認(rèn)證失??;
7) 讀寫器將收到的IDi和ID’使用數(shù)據(jù)隱藏算法隱藏成文本M3,并發(fā)送給標(biāo)簽;
8) 標(biāo)簽接收到M3之后可以獲得IDi和ID’,將IDi和自己的身份信息ID進(jìn)行對比,如果一致,則讀寫器認(rèn)證成功,否則認(rèn)證失?。?/p>
9) 標(biāo)簽和讀寫器同時將已經(jīng)認(rèn)證的標(biāo)簽ID改成ID’。標(biāo)簽進(jìn)入讀模式或?qū)懩J剑梢越邮茏x寫器對其進(jìn)行讀寫操作;
10) 完成通信后,標(biāo)簽進(jìn)入休眠模式,直到接收讀寫器的下一次認(rèn)證請求。
3 方案性能分析
基于數(shù)據(jù)隱藏的雙向認(rèn)證協(xié)議使用哈希函數(shù)來完成標(biāo)簽和讀寫器的雙向認(rèn)證并對通信敏感信息進(jìn)行保護(hù)。哈希函數(shù)的強(qiáng)無碰撞性使得攻擊者找不到另一個IDj能夠滿足H( IDj )=H( ID ),因此攻擊者無法偽裝成合法標(biāo)簽來干擾合法的通信過程。使用本文設(shè)計(jì)的保護(hù)方案,在標(biāo)簽和讀寫器完成每次認(rèn)證之后都會同時刷新標(biāo)簽ID,因此攻擊者無法通過跟蹤特定通信信息的方式來跟蹤標(biāo)簽使用者,因此可以保護(hù)用戶的個人隱私。由于在對數(shù)據(jù)庫進(jìn)行搜索以確認(rèn)標(biāo)簽是否屬于數(shù)據(jù)庫之前,本方案使用讀寫器對標(biāo)簽進(jìn)行初步判斷,因此可以在一定程度上降低后端數(shù)據(jù)庫的計(jì)算量,減少拒絕服務(wù)供給的可能性。同時,將判斷標(biāo)簽所屬權(quán)的任務(wù)移交給讀寫器之后,后端數(shù)據(jù)庫不需要每次都向讀寫器發(fā)送所有的標(biāo)簽的ID,而只需要處理那些通過預(yù)判斷的標(biāo)簽。尤其是在存在大量標(biāo)簽的環(huán)境中,本方案可以大大減少讀寫器與后臺數(shù)據(jù)庫之間的通信量,從而進(jìn)一步減輕安全信道的堵塞問題。
本文在雙向認(rèn)證過程中引入了數(shù)據(jù)隱藏技術(shù)。通過數(shù)據(jù)隱藏,攻擊者或竊聽者很難判斷在未加密的信息中是否有敏感信息存在,因而可以保護(hù)用戶的隱私。同時,在數(shù)據(jù)隱藏技術(shù)中,隱藏文本的任何變化都會被接收方所感知,因此信息的接收方會知道通信信息已經(jīng)改變。使用本文設(shè)計(jì)的方案來完成身份認(rèn)證和通信的過程中,每次標(biāo)簽與系統(tǒng)完成通信后,他們都將刷新標(biāo)簽ID,因 此攻擊者不能有效跟蹤標(biāo)記,所以它無法知道用戶和的確切物理位置,無法偽裝成這個標(biāo)簽,因此可以有效地實(shí)現(xiàn)用戶隱私信息的保護(hù)。
4 結(jié)束語
本文使用Hash-Lock協(xié)議完成標(biāo)簽和讀寫的雙向認(rèn)證,使用數(shù)據(jù)隱藏技術(shù)隱藏標(biāo)簽和讀寫器之間的通信內(nèi)容。可以保護(hù)標(biāo)簽和讀寫器之間信息傳輸?shù)臋C(jī)密性并檢測是否有第三方偽造信息。與現(xiàn)有的只使用Hash-Lock算法的協(xié)議相比,該文設(shè)計(jì)的保護(hù)方案更加安全,出其不意的防范了攻擊者的攻擊。
參考文獻(xiàn):
[1] 金洪穎.RFID系統(tǒng)用戶安全與隱私保護(hù)協(xié)議研究[J].電腦知識與技術(shù),2013,10.
[2] 陸桑璐,謝磊.射頻識別技術(shù)—原理、協(xié)議及系統(tǒng)設(shè)計(jì)[M].北京:科學(xué)出版社,2014.
[3] 彭力,徐華.無線射頻識別技術(shù)與應(yīng)用[M].西安:西安電子科技大學(xué)出版社,2014.
關(guān)鍵詞 信息隱藏;信息隱藏技術(shù)課程;案例教學(xué)
中圖分類號:G642.3 文獻(xiàn)標(biāo)識碼:B
文章編號:1671-489X(2016)22-0100-03
Research on Course Teaching of Information Hiding Technology based on Case Teaching//ZHANG Zhengwei, WANG Weimin, WU
Lifa
Abstract Case teaching is the combination of theoretical knowledge and practical application. It is a process which is guided by theory to
practice, which is beneficial to improve students’ ability to under-stand and grasp the information hiding theory. According to the cha-
racteristics of this course, this paper firstly points out that the modern
information hiding problems existed in the course teaching, then carries on the system analysis the feasibility and necessity of the course, application of case teaching method, and the information hiding teaching into the teaching case of the methods, steps and matters needing attention are discussed.
Key words information hiding; course of information hiding techno-
logy; case teaching
1 引言
信息隱藏是隱蔽通信和知識產(chǎn)權(quán)保護(hù)等的主要手段。信息隱藏技術(shù)課程是一門實(shí)踐性和理論性都較強(qiáng)的計(jì)算機(jī)信息專業(yè)課程,可作為高等院校具有一定計(jì)算機(jī)基礎(chǔ)的信息安全專業(yè)、通信工程專業(yè)、密碼學(xué)專業(yè)及計(jì)算機(jī)專業(yè)的研究生或高年級本科生教程,其基本知識涉及數(shù)學(xué)、密碼學(xué)、人工智能、圖像處理和機(jī)器學(xué)習(xí)等多個學(xué)科。在實(shí)際教學(xué)中,由于課時數(shù)有限,不能將課本知識面面俱到,為了保證課堂教學(xué)質(zhì)量,通常教師會采用“教師課堂授課―教師課堂案例演示―學(xué)生課下模擬”這一傳統(tǒng)的教學(xué)方式,以教師講授為主,以學(xué)生學(xué)習(xí)和模仿為輔。采用案例教學(xué)法進(jìn)行課堂教學(xué)[1],有利于激發(fā)學(xué)生學(xué)習(xí)動力,增強(qiáng)學(xué)生思維效力,改善學(xué)生理論聯(lián)系實(shí)踐的融會貫通能力。
案例教學(xué)法旨在增強(qiáng)學(xué)生分析問題、解決問題的能力,注重于實(shí)際應(yīng)用。案例教學(xué)法是由哈佛大學(xué)在20世紀(jì)20年代提出來的,其主要采用一種新穎案例方式來完成課堂教學(xué)[2]。通過這種模式教學(xué),有利于培養(yǎng)學(xué)生發(fā)現(xiàn)問題、積極思考探索、主動參與集體討論并取得很好的效果。
普通本科院校鑒于其教育及管理定位,易造成學(xué)生基本理論知識不夠完善、應(yīng)用實(shí)踐能力較弱,如何提高學(xué)生的綜合素質(zhì)能力,以更好滿足社會對高素質(zhì)人才要求的需求,是當(dāng)前普通高等教育亟待探究的關(guān)鍵所在[3]。在信息隱藏技術(shù)課程教學(xué)中采用案例法教學(xué),有助于培養(yǎng)學(xué)生的思維能力和實(shí)踐應(yīng)用能力。將項(xiàng)目案例運(yùn)用到課堂教學(xué)[4],能使學(xué)生更加體會到成功的快樂,激發(fā)學(xué)習(xí)興趣,有助于增強(qiáng)學(xué)習(xí)動力。
2 信息隱藏技術(shù)課程教學(xué)中存在的問題
信息隱藏技術(shù)作為計(jì)算機(jī)信息類專業(yè)的一門核心課程,有著較強(qiáng)的理論性和應(yīng)用實(shí)踐性。
理論性偏強(qiáng),數(shù)學(xué)知識掌握要求高 信息隱藏技術(shù)這門課程雖然內(nèi)容繁雜,但可以通過分析處理數(shù)字信號的方式和過程進(jìn)行授課。信號可以看作一個二維有界向量,可以在空域或頻域?qū)ζ溥M(jìn)行分析處理,因此,有關(guān)信號處理理論和方式都能應(yīng)用到信息隱藏上來。信息隱藏技術(shù)具有較強(qiáng)的理論基礎(chǔ),需要學(xué)生掌握較好的基礎(chǔ)知識,這對普通高校學(xué)生來說存在較大壓力。同時,許多原理、公式演算和模型構(gòu)建貫穿整個課程,其內(nèi)容學(xué)習(xí)起來枯燥無味,容易使學(xué)生產(chǎn)生厭學(xué)情緒,影響學(xué)習(xí)效果。
實(shí)踐技能偏弱,應(yīng)用能力不強(qiáng) 信息隱藏技術(shù)是一門理論與實(shí)踐相輔相成、緊密結(jié)合的專業(yè)性課程,這要求學(xué)生不僅要了解和掌握信息隱藏基本概念和原理,而且應(yīng)具備較強(qiáng)的編程應(yīng)用能力,能夠通過編程實(shí)現(xiàn)各種信息隱藏處理。經(jīng)歷這些年的教學(xué)研究,筆者深感學(xué)生的編程實(shí)踐技能有待提高,即便完成本科階段學(xué)習(xí),也很難實(shí)現(xiàn)一個簡單算法,更談不上用所學(xué)知識去完成一個綜合的、系統(tǒng)的開發(fā)任務(wù)。
相關(guān)基礎(chǔ)知識不扎實(shí) 信息隱藏主要是利用相關(guān)計(jì)算機(jī)技術(shù)將信息隱藏到某一載體中。該門課程主要采用工程實(shí)踐的原理、算法及相關(guān)技術(shù)來完成信息的嵌入與提取。因此,該門課程涉及的知識點(diǎn)較多,如矩陣論、密碼學(xué)、機(jī)器學(xué)習(xí)、信號分析與處理等。學(xué)生在學(xué)習(xí)該門課程時,由于并沒有對這些知識進(jìn)行系統(tǒng)的學(xué)習(xí),因此較難理解和掌握這門課程。
3 案例教學(xué)法的含義
案例教學(xué)法是一種以案例設(shè)計(jì)與分析為基礎(chǔ),結(jié)合課堂講授的教學(xué)方法。教師在教學(xué)中充當(dāng)啟蒙者和激勵者的角色,誘導(dǎo)學(xué)生積極思考問題和解決問題。區(qū)別于傳統(tǒng)教學(xué)法,案例教學(xué)法要求教師根據(jù)實(shí)際教學(xué)需要,設(shè)計(jì)并選擇適當(dāng)案例,指導(dǎo)學(xué)生對案例進(jìn)行分析和探討,并進(jìn)行實(shí)踐操作的教W過程。在這一過程中,學(xué)生是主體,教師是整個教學(xué)活動的指路人。選擇什么樣的案例,決定了該教學(xué)法能否取得成功。課堂授課是對案例決策、案例分析與選擇的關(guān)鍵,可以激發(fā)學(xué)生思維,提高動手能力。課后案例分析報(bào)告則是經(jīng)由案例教學(xué)達(dá)成教學(xué)目的的保證。案例教學(xué)與傳統(tǒng)教學(xué)的區(qū)別如表1所示。
信息隱藏技術(shù)作為一門專業(yè)課程,其內(nèi)容相對比較抽象和枯燥。傳統(tǒng)授課通常采用“課堂講授,課堂演示”的教學(xué)模式,無法調(diào)動學(xué)生學(xué)習(xí)積極性,導(dǎo)致理論記憶不深。該課程偏重工程應(yīng)用研究,而目前使用的教材其內(nèi)容側(cè)重基礎(chǔ)理論且算法較為陳舊,學(xué)生在學(xué)習(xí)該門課程后無法應(yīng)用于實(shí)踐,學(xué)習(xí)熱情不高。近幾年,學(xué)校雖已逐漸重視對學(xué)生實(shí)踐環(huán)節(jié)能力的培養(yǎng),但也僅僅是機(jī)械地對理論知識進(jìn)行編程操作,屬于被動的對學(xué)生能力的培養(yǎng)。跟課程相關(guān)的實(shí)驗(yàn)環(huán)節(jié)也多以驗(yàn)證性實(shí)驗(yàn)為主,對學(xué)生的創(chuàng)新性要求不高,學(xué)生實(shí)際操作還有待加強(qiáng)。
4 案例設(shè)計(jì)
案例教學(xué)法是一種以案例設(shè)計(jì)與分析為主、理論知識講解為輔的教學(xué)模式。授課中要求以案例為中心,激發(fā)教師和學(xué)生的積極性和能動性,突出學(xué)生的主動性。
設(shè)計(jì)原則 案例教學(xué)法強(qiáng)調(diào)以學(xué)生主動學(xué)習(xí)為主,注重培養(yǎng)學(xué)生思維創(chuàng)新能力,能夠較好地解決一些實(shí)際問題。項(xiàng)目設(shè)計(jì)要體現(xiàn)“以學(xué)生主動學(xué)習(xí)為主,教師課堂講授為輔”的教學(xué)理念,擺脫過去那種“以教師講授為主,學(xué)生學(xué)習(xí)和模仿為輔”的傳統(tǒng)教學(xué)思想。任課教師要盡可能設(shè)計(jì)出一些帶有誘發(fā)性、啟導(dǎo)性和思維性的項(xiàng)目,以激發(fā)學(xué)生的學(xué)習(xí)熱情和學(xué)習(xí)興趣。
1)目的性。信息隱藏技術(shù)課程是一門工程應(yīng)用性較強(qiáng)的學(xué)科,對學(xué)生的動手操作能力要求較高,需要注重培養(yǎng)學(xué)生的工程實(shí)踐性技能,通過工程實(shí)踐教學(xué)來提高學(xué)生的理論知識掌握能力。為了更好地提高學(xué)生的應(yīng)用技能,案例的選擇與設(shè)計(jì)必須遵循教學(xué)目的和教學(xué)大綱。
2)真實(shí)性。以能滿足實(shí)際應(yīng)用為探討目標(biāo),理論聯(lián)系實(shí)踐,將社會實(shí)際應(yīng)用問題引入課堂中,有利于增強(qiáng)學(xué)生的實(shí)踐操作能力。這將為學(xué)生未來從事相關(guān)開發(fā)與研究打下堅(jiān)實(shí)基礎(chǔ)。
3)代表性。考慮到信息隱藏技術(shù)課程教學(xué)學(xué)時有限,不能面面俱到講解課程所有知識點(diǎn),因此,所選取或設(shè)計(jì)的教學(xué)案例應(yīng)具有專一性、實(shí)時性、代表性和可操作性,這樣有助于培養(yǎng)學(xué)生解決實(shí)際問題和思維創(chuàng)新能力。
4)實(shí)用性。信息隱藏技術(shù)課程主要講解的是信息嵌入、信息提取和篡改定位等相關(guān)內(nèi)容,這要求所選取案例一定要結(jié)合實(shí)際,滿足社會實(shí)際應(yīng)用的要求。
5)生動性。信息隱藏技術(shù)課程其理論原理相對較為枯燥,很難調(diào)動學(xué)生學(xué)習(xí)積極性。將客觀枯燥的原理通過生動的案例進(jìn)行形象描述,這將有助于培養(yǎng)學(xué)生學(xué)習(xí)該課程的興趣。
案例設(shè)計(jì)的基本方法 信息隱藏技術(shù)案例教學(xué)主要圍繞案例準(zhǔn)備、案例實(shí)施、案例評價等幾個步驟展開。
1)案例準(zhǔn)備。教師需要根據(jù)實(shí)際應(yīng)用設(shè)計(jì)出一個能充分激發(fā)學(xué)生興趣、提高動手能力的案例。教師和學(xué)生對此案例進(jìn)行溝通理解,劃分小組,指定組長,明確各組員任務(wù)。通過組內(nèi)成員共同撰寫目標(biāo),明確各自不同的興趣,確定任務(wù)和預(yù)期效果。
2)案例實(shí)施。首先,教師要組織學(xué)生對案例進(jìn)行分析理解,通過各組的討論、分析并提出實(shí)施思路。其次,教師根據(jù)學(xué)生的實(shí)施思路進(jìn)行針對性講解后,要求學(xué)生對實(shí)施思路進(jìn)行討論修改,并提出修改方案。最后,由學(xué)生各組共同協(xié)作完成案例制作。在制作過程中,教師要不斷激勵學(xué)生要勇于創(chuàng)新、突破自我,充分發(fā)揮想象力。
3)效果評價。案例效果評價主要用來檢驗(yàn)學(xué)生的學(xué)習(xí)狀況。不能用單一的評價指標(biāo)來評價案例教學(xué)法的優(yōu)劣,需要倡導(dǎo)學(xué)生的主體地位,鼓勵團(tuán)隊(duì)協(xié)作,分層進(jìn)行評價。同時需要展開團(tuán)隊(duì)互評及個人自評等形式。案例教學(xué)法以學(xué)生學(xué)習(xí)為主體,存在多個實(shí)踐環(huán)節(jié),需要教師對相關(guān)環(huán)節(jié)進(jìn)行記錄,了解和掌握學(xué)生的實(shí)際操作情況,并予以指導(dǎo)。
5 案例教學(xué)法在信息隱藏技術(shù)教學(xué)中的應(yīng)用
案例教學(xué)法既能有效提高學(xué)生的動手能力,又能加深學(xué)生對理論知識的理解,貫穿于信息隱藏技術(shù)課程教學(xué)的全過程。首先,通過案例來講解信息隱藏的基本原理,將一個典型的、易于理解的和具有實(shí)際應(yīng)用意義的案例引入教學(xué)中,將復(fù)雜的概念用形象生動的案例來進(jìn)行闡述。其次,不同學(xué)生的學(xué)習(xí)能力有所差異,需對不同學(xué)生設(shè)置相對應(yīng)要求。通過對案例教學(xué)法的初步引入,教師對學(xué)生的編程、分析問題能力有了初步了解。通過對不同層次的學(xué)生設(shè)置不同的教學(xué)規(guī)程,運(yùn)用案例教學(xué)法才有可能真正提高不同層次學(xué)生的綜合學(xué)習(xí)能力。
前期 就信息隱藏技術(shù)而言,案例教學(xué)法因該課程涉及內(nèi)容廣、深,相應(yīng)算法復(fù)雜,而使教學(xué)過程變得煩瑣。如果在案例教學(xué)法的初始階段就要求學(xué)生完全獨(dú)立編程,實(shí)現(xiàn)某一算法,容易打擊學(xué)生學(xué)習(xí)的積極性和降低學(xué)習(xí)興趣,產(chǎn)生畏難心理,這將很難取得較好的教學(xué)效果。因此,該階段教師可以多提供易懂代碼給學(xué)生,讓學(xué)生在模擬編程中感受課程學(xué)習(xí)的樂趣。在經(jīng)過一段練習(xí)實(shí)踐后,學(xué)生的編程能力會有所增強(qiáng),此時可適當(dāng)減少所供代碼比例。
中期 該階段是培養(yǎng)學(xué)生實(shí)踐編程能力的重要時期,其案例內(nèi)容的設(shè)計(jì)與選擇需因不同類型學(xué)生的差異而有所改變。
1)對于有一定編程能力的學(xué)生,教師可以提供一些參考資料,讓學(xué)生自主編寫一些基礎(chǔ)程序。
2)具有一定分析能力但編程能力一般的學(xué)生,可以通過對算法原理分析來對教師提供的部分代碼做適當(dāng)改進(jìn),以驗(yàn)證改進(jìn)算法的優(yōu)越性。
3)信息隱藏實(shí)驗(yàn)在信息嵌入時,有時為了提高算法性能,需要調(diào)整嵌入?yún)?shù),這時就可以讓編程能力相對較弱的學(xué)生完成數(shù)據(jù)驗(yàn)證與分析的任務(wù)。
后期 案例教學(xué)法的案例內(nèi)容必須具備完整性、實(shí)用性和系統(tǒng)性,這將很好地激發(fā)學(xué)生學(xué)習(xí)積極性。案例教學(xué)法可以讓學(xué)生積極參與其中,營造團(tuán)隊(duì)合作的良好氛圍[5]。隨著學(xué)生綜合能力的提高,可在后期安排課程實(shí)習(xí)、課程設(shè)計(jì)等相關(guān)任務(wù)讓學(xué)生來完成,如水印嵌入、水印提取等。課后可以通過相關(guān)通信媒介來加強(qiáng)學(xué)生之間的討論以及師生間的交流,這樣做可以減少課堂討論時的不可控因素,節(jié)約課時,以提高學(xué)生動手操作能力。
6 總結(jié)
案例教學(xué)法可以將理論和實(shí)踐更好地結(jié)合起來,不僅可以很好地調(diào)動學(xué)生學(xué)習(xí)的積極性,而且改善了傳統(tǒng)課程授課的教學(xué)質(zhì)量,培養(yǎng)學(xué)生想學(xué)、愛學(xué)、學(xué)而不厭的態(tài)度。學(xué)生通過對案例進(jìn)行分析、設(shè)計(jì),可以更好地加深對課程理論知識的理解。案例教學(xué)法可以使學(xué)生參與實(shí)際應(yīng)用,解決社會現(xiàn)實(shí)問題,達(dá)到學(xué)以致用的目的。案例教學(xué)法是對傳統(tǒng)教學(xué)方法的有益擴(kuò)充,信息隱藏技術(shù)的基本原理必須通過教師課堂講授,學(xué)生才能牢固掌握,才能更好地去指導(dǎo)實(shí)踐。
淮陰工學(xué)院將案例教學(xué)法運(yùn)用到信息隱藏技術(shù)課程教學(xué)中并已取得顯著效果。教學(xué)實(shí)踐表明,案例教學(xué)法改變了傳統(tǒng)教學(xué)中以教師課堂講授為主的教學(xué)方式,以學(xué)生為中心,誘導(dǎo)學(xué)生主動學(xué)習(xí),提高學(xué)習(xí)興趣。案例教學(xué)法有效地改善了教學(xué)體系,提高了教學(xué)質(zhì)量,使學(xué)生更全面地掌握信息隱藏算法所涉及的相關(guān)認(rèn)識。傳統(tǒng)教學(xué)法在理論教學(xué)、保持系統(tǒng)完整性方面有著案例教學(xué)法無法替代的功效。因此,將兩種教學(xué)模式有機(jī)結(jié)合、相輔相成,才能在教學(xué)上獲得更好的效果。■
參考文獻(xiàn)
[1]田保軍.軟件工程課程案例教學(xué)方法的研究[J].內(nèi)蒙古師范大學(xué)學(xué)報(bào):教育科學(xué)版,2008,21(1):103-105.
[2]王燦輝,張舒,林郎碟.案例教學(xué)法在軟件工程教學(xué)中的應(yīng)用[J].計(jì)算機(jī)教育,2012(1):20-23.
[3]張忠林.基于項(xiàng)目驅(qū)動模式下的“軟件工程”教學(xué)改革[J].計(jì)算機(jī)教育,2009(2):53-55.
關(guān)鍵詞:自適應(yīng);信息隱藏;數(shù)字水印;空間域
中圖分類號: TP309.2
文獻(xiàn)標(biāo)識碼:A
0引言
信息隱藏是將重要信息嵌入到在其他媒體(載體) 中,在基本不改變載體的外部特征及使用價值的情況下,我們的感覺器官感覺不到載體外部的變化,從而實(shí)現(xiàn)重要信息的隱秘傳遞。信息隱藏的目的不在于限制正常的資料存取,而在于保證隱藏的信息不引起攻擊者的注意和重視,從而減少被侵犯的可能性,擺脫數(shù)據(jù)加密技術(shù)的致命缺陷?,F(xiàn)在的隱密通信方式一般都要求把消息先加密再隱藏, 即形成了“加密+ 隱藏”的安全通信模式,它較之單純的密碼加密方法更多了一層保護(hù)。信息隱藏與分析技術(shù)的研究無論在軍事和民用方面都有著重要的意義,隱藏技術(shù)越來越多地應(yīng)用于多媒體信息的版權(quán)保護(hù)及信息安全等領(lǐng)域。特別在軍事上,各個國家都采用了信息隱藏技術(shù),進(jìn)行情報(bào)、間諜活動,用于信息戰(zhàn)領(lǐng)域中。早在2001年9月美國HINDU新聞組就報(bào)道了頭目“拉登”可能通過隱寫圖片向其同僚傳遞重要的信息、散布消息、籌集資金、組織恐怖襲擊等[1],并成功地逃過了美國通信監(jiān)管部門的監(jiān)控。
目前用來作為信息隱藏的載體有文字、圖像、語音或視頻等多種不同格式的文件, 但使用方法沒有本質(zhì)的區(qū)別。其中圖像由于冗余空間大,是目前用得最多的信息隱藏載體。在基于圖像的信息隱藏技術(shù)中,有兩種隱藏技術(shù):基于變換域的隱藏技術(shù)和基于空間域的隱藏技術(shù)。其中基于變換域的隱藏技術(shù)魯棒性比較好,但較難實(shí)現(xiàn)大量數(shù)據(jù)的隱藏,要實(shí)現(xiàn)大容量的信息隱藏主要使用基于空間域的隱藏技術(shù)。
1典型空間域隱藏技術(shù)分析
基于空間域的隱藏技術(shù)是直接改變圖像元素的值, 一般是在圖像的亮度或色帶中加入隱藏的內(nèi)容。最簡單和有代表性的基于空間域的信息隱藏方案是將要隱藏的信息代替圖像的最低有效位(LSB)或者多個不重要位平面的所有比特的算法,這里的隱藏信息指的是二值比特序列。其隱藏信息的原理如下:計(jì)算機(jī)用三個字節(jié)來表示顏色的紅、綠、藍(lán)三原色的分量數(shù)值,每個字節(jié)的最低位的變化對顏色的視覺影響很小而無法察覺,因此可以把紅、綠、藍(lán)三原色的分量數(shù)值的最低位(最小意義位) 視為冗余空間,把信息隱藏在這里。1993年,Tirkel等人[2]提出了數(shù)字圖像水印的一種方法,該方法將m序列的偽隨機(jī)信號以編碼形式的水印嵌入到灰度圖像數(shù)據(jù)的LSB中。為了能得到完整的LSB位平面而不引入噪聲,圖像通過自適應(yīng)直方圖處理,首先將每個像素值從8 bit壓縮為7 bit,然后將編碼信息作為像素值的第8個bit(即像素值的LSB),這一方法是單個LSB編碼方法的擴(kuò)展,在單個LSB編碼方法中,LSB直接被編碼信息所代替。
LSB 算法的優(yōu)點(diǎn)是算法簡單、嵌入速度快、隱藏容量比較大,這些優(yōu)點(diǎn)是基于變換域的隱藏算法所無法比擬的。因此LSB算法仍然在信息隱藏中占有重要地位,幾乎全部的隱寫算法中都可以找到LSB 算法的影子, Internet上常見的隱寫軟件中也大都使用LSB 算法或LSB 的衍生算法[3]。由于使用了圖像最不重要的像素位,因此算法的魯棒性較差,嵌入信息很容易受到濾波、圖像量化、幾何變形和加噪等操作的攻擊。針對LSB算法出現(xiàn)的缺陷,一些研究人員對空域圖像水印技術(shù)進(jìn)行了改進(jìn),使算法的穩(wěn)健性和安全性得到了提高。文獻(xiàn)[4]提出通過顏色量化的方法實(shí)現(xiàn)的,使原來需要8位來表示的256色圖像量化到顏色數(shù)128 色,量化后的圖像只用7 位來表示,剩余的那位(最高位)就可以作為冗余空間來存儲隱藏信息。由于此時所用的冗余空間為最高位,也叫最大意義位(MSB),因此魯棒性好,解決了LSB算法魯棒性差的問題。該方法的缺點(diǎn)是嵌入后的圖像的調(diào)色板大小發(fā)生改變, 而且對于原本256色的圖像量化后,由于存在量化誤差,圖像的視覺質(zhì)量會有不同程度的降低,其中最為嚴(yán)重的是在均勻漸變區(qū)域出現(xiàn)的偽輪廓,因此,必須降低質(zhì)量才有可能實(shí)現(xiàn)信息嵌入[5]。目前,基于圖像空間域的隱藏技術(shù)的研究目標(biāo)主要有兩個:一是在一定長度的可修改圖像載體數(shù)據(jù)中,在不影響載體視覺效果的前提下,嵌入盡可能多的信息數(shù)據(jù);二是提高其魯棒性。本文在以上算法的基礎(chǔ)上提出了一種魯棒性和隱藏容量均優(yōu)于LSB算法的空間域信息隱藏算法。
2本文算法
基于圖像的信息隱藏可看為在強(qiáng)背景(原始圖像)下疊加一個弱信號(被隱藏的信息),只要疊加的信號低于對比度門限(Contrast Sensitivity Threshold),視覺系統(tǒng)就無法感覺到信號的存在[6]。根據(jù)
人類視覺系統(tǒng)(Human Vision System,HVS)
的對比度特性,該門限值受背景照度、背景紋理復(fù)雜性和信號頻率的影響。背景越亮,紋理越復(fù)雜(或者說邊緣豐富),門限就越高[6,7],這現(xiàn)象稱為亮度掩蔽和紋理掩蔽。HVS的對圖像所具有的亮度掩蔽、邊界掩蔽和紋理掩蔽等效應(yīng)表明[8]:(1) 人眼對不同灰度具有不同的敏感性,通常對中等灰度最為敏感,而且向低灰度和高灰度兩個方向非線性下降;(2) 對圖像平滑區(qū)的噪聲敏感,而對紋理區(qū)的噪聲不敏感;(3) 邊界信息對于人眼非常重要。根據(jù)人類視覺掩蔽特性可知:具有不同局部性質(zhì)的區(qū)域在保證不可見性的前提下,可允許疊加的信號強(qiáng)度是不同的。對RGB彩色圖像而言, 人類視覺系統(tǒng)并不是只有對LSB位不可感知,對于較亮的像素點(diǎn),比LSB更高的某些位的變化同樣是不可感知的,這些不可感知位同樣可用來嵌入信息,從而進(jìn)一步提高嵌入容量。利用以上HVS特性,本文提出多平面自適應(yīng)隱藏方法,可獲得較大的信息隱藏空間和較好的魯棒性。其基本思路是根據(jù)每個像素點(diǎn)RGB三個顏色分量的亮度值的不同,確定是否隱藏信息、信息隱藏位置及信息的隱藏量。由于不是將信息隱藏在某個固定的平面位,這樣既能解決LSB算法的魯棒性差的問題,也沒有MSB算法的顏色失真問題。具體算法如下 :
設(shè)24位的RGB彩色圖像的每個像素RGB三個顏色分量分別為(r7,r6,r5,r4,r3,r2,r1,r0)、(g7,g6,g5,g4,g3,g2,g1,g0)、(b7,b6,b5,b4,b3,b2,b1,b0),對圖像的每個像素點(diǎn)RGB三色的每一色進(jìn)行單獨(dú)嵌入處理,首先對紅色分量進(jìn)行處理,將(r7,r6,r5,r4,r3,r2,r1,r0)從高位至低位逐位進(jìn)行檢查,當(dāng)?shù)趚位不為0時,則從第x-y位(y≥1)開始嵌入信息,一直嵌入到第z位,若z>x-y, 則該像素點(diǎn)的該分量不嵌入信息, 由于信息的嵌入是在一個非0位后的一個約定位開始,到另一個約定位結(jié)束,因此信息的提取只依賴參數(shù)y和z,不需要原始圖像及輔助信息表等其他信息,是一種完全意義的盲提取。即:
ri,其他其中為該像素點(diǎn)紅色分量第i位ri經(jīng)過嵌入處理后的值,wj(j∈{1,2,…,L})為待嵌入的比特序列,j的值為前面已經(jīng)嵌入的比特?cái)?shù),每嵌入1個比特j的值增加1,y的取值決定了嵌入強(qiáng)度,它需要在不可感知性和嵌入容量之間折中考慮,y值越大,視覺不可感知性越好,但可隱藏的信息量越少。z的取值由所需的抵御濾波處理的魯棒性決定,當(dāng)z=0時,則包括LSB位。處理完紅色分量后,再用同樣的方法處理該像素的藍(lán)色和綠色分量,只是對藍(lán)色和綠色分量,y的取值可以根據(jù)人類視覺系統(tǒng)特性取不同的值。處理完一個像素點(diǎn)后,再重復(fù)以上過程,處理下一個像素點(diǎn)。
設(shè)背景照度為I,根據(jù)Weber定律[9],在均勻背景下,人眼剛好可以識別的物體照度為I+I(xiàn), I滿足:
視覺領(lǐng)域的進(jìn)一步研究表明, I與I的關(guān)系更接近指數(shù)關(guān)系[10]。有文獻(xiàn)提出了更準(zhǔn)確的對比度敏感度函數(shù)(CSF, Contrast Sensitivity Function):
其中I0為當(dāng)I=0的對比度門限,α為常數(shù),a∈ (0.6, 0.7)。
根據(jù)以上結(jié)論,y的取值為4至5時就可基本滿足視覺不可見性要求,實(shí)驗(yàn)結(jié)果也證實(shí)如此。由于人眼對RGB三色的敏感度是不同的,人眼可感知的亮度值可由如下的公式計(jì)算:可見人眼對綠色最敏感,對藍(lán)色最不敏感,它不到綠色的1/4,因此為了達(dá)到不可感知性的目的,在y值的選取上,綠色需要適當(dāng)取大一點(diǎn),藍(lán)色分量的值則可取小一點(diǎn)。
3試驗(yàn)與討論
為驗(yàn)證本算法的性能,以512×512×24 的原始Lenna圖像進(jìn)行試驗(yàn)。首先試驗(yàn)本算法的最大信息嵌入量,z的值設(shè)為0,設(shè)RGB三色所對應(yīng)的y的取值為(yr,yg,yb),這三個值分別選取(5,5,4)、(4,5,4),(4,4,4),(4,5,3)和(3,5,3)幾組不同的值進(jìn)行嵌入試驗(yàn),嵌入后的結(jié)果分別如圖1的(b)、(c)、(d)、(e)、(f)所示。由試驗(yàn)結(jié)果可知,當(dāng)yr≥4、yg≥5、yb≥3時,對人類的視覺系統(tǒng)而言是不可感知的,超過這個值時就會影響視覺效果,即(yr,yg,yb)取(4,5,3)時,隱藏的信息的不可感知性就能滿足要求,此時達(dá)到可隱藏信息量的最大值。再選取標(biāo)準(zhǔn)圖像peppers和tulips進(jìn)行試驗(yàn),當(dāng)yr,yg,yb分別取4,5,3時,嵌入信息后的載密圖像如圖2所示,可見在嵌入隱藏信息后同樣能滿足視覺的不可感知性要求。當(dāng)yr,yg,yb分別取4,5,3時,在Lenna、peppers和tulips圖像中可嵌入的信息量見表1,不難看出本算法的信息隱藏量非常大,嵌入比平均值約為36%,而目前認(rèn)為信息隱藏量大的LSB算法的嵌入容量的嵌入比為12.5%,可見本算法的可嵌入容量遠(yuǎn)比LSB算法大很多。
再以512×512×24的原始Lenna圖像嵌入一幅181×252×8的灰度圖像進(jìn)行剪裁試驗(yàn),將載有隱藏信息的圖像進(jìn)行如圖3(c)所示的隨機(jī)裁剪,然后進(jìn)行隱藏信息的提取,提取的圖像如圖3(d)所示,說明本算法有較強(qiáng)的抗剪裁能力。由于本算法的嵌入容量大,同小容量的嵌入算法相比,對于同樣的嵌入信息可進(jìn)行反復(fù)的嵌入,一幅載體圖片可嵌入多個水印信息,因此抗剪裁能力強(qiáng)。以512×512×24的原始Lenna圖像嵌入一幅181×252×8的灰度圖像進(jìn)行抗干擾試驗(yàn),在嵌入隱藏信息的圖像上加入0.02的椒鹽噪聲,檢測到的隱藏圖像如圖4(b)所示,雖然檢測到的隱藏圖像也有明顯的噪聲干擾信息,但不影響識別效果,可見本文算法一定的抗噪聲干擾能力,作為隱藏圖像之類的水印是能滿足要求的,而計(jì)算復(fù)雜度卻比同樣效果的頻域算法低很多。 另外當(dāng)z取1時(即LSB位不隱藏信息)進(jìn)行濾波試驗(yàn),載密圖像進(jìn)行中值濾波處理后,仍可檢測到隱藏的大部分信息,而LSB算法則基本檢測不到隱藏的信息,說明本算法的魯棒性比LSB算法要高很多,而此時的信息隱藏量卻仍然比LSB算法大。同時由于嵌入的圖像的位平面與原始圖像、嵌入后的圖像沒有對應(yīng)關(guān)系,而不像LSB算法那樣將信息嵌入在一個固定的平面位,可防止位平面過濾所導(dǎo)致的失密,因此安全性也比LSB算法高。