隱藏技術范文
時間:2023-04-05 11:35:02
導語:如何才能寫好一篇隱藏技術,這就需要搜集整理更多的資料和文獻,歡迎閱讀由公務員之家整理的十篇范文,供你借鑒。
篇1
信息隱藏技術可以追溯到遠古時代,方法從音符、咒語到五花八門的隱寫術,但隱寫術發展一直比較緩慢,沒有成為一門獨立的學科,人們對于信息保密更多的是采用密碼技術。直到信息技術和計算機技術高度發達的今天,數字化信息與隱寫術相結合,為古老的隱寫術注入了新的活力,使得數字化信息隱藏技術成為一門全新的技術,為探索非密碼的通信安全提供了新途徑。
1.信息隱藏的基本方式
1.1傳輸隱藏
在視頻通信系統中隱藏信息,利用視頻通信壓縮編碼中可利用的資源,在確保不使視頻信號質量嚴重下降的前提下,嵌入壓縮的話音編碼,形成秘密通信信道。同時數據通信中的IP包和TCP包,均有未使用的保留空間,可用來傳輸隱藏信息。另外,IP包的時間戳也可傳送1個比特的數據。
1.2載體隱藏
在文本文件、圖像文件及可執行文件中插入秘密信息,可實現信息隱藏。利用話音信號的自然冗余性,將秘密信息直接編碼到文件內容中去,或將其編碼到文本格式中,形成以文本為載體的信息隱藏。將秘密信息插入圖像文件中對人的視覺系統不敏感的比特位,在不影響圖像質量的前提下實現信息隱藏。利用可執行文件中的冗余信息,加載秘密信息。
1.3存儲隱藏
利用計算機系統中保留或未使用的空間保存秘密信息,為隱藏信息提供另外一種方式,通過創建隱藏分區、使用操作系統分配給文件但未使用的空間來隱藏信息。同一個計算機系統中不同安全級別的兩臺主機,根據預先約定的規則,通過存儲特定數據也可傳遞信息。級別高的主機在特定區域存儲不同大小、不同名稱的文件,級別低的主機雖不能訪問數據,但可從文件列表獲取所要的信息。
2.信息隱藏的實現方法
2.1基于替換的信息隱藏方法
基于替換的信息隱藏,就是用秘密信息比特替換掉偽裝載體中不重要的比特,實現對秘密信息的隱藏。如果這種嵌入的信息在傳輸過程中不被察覺,接收者就可從秘密信息嵌入的位置提取出秘密信息。常用的替換方法:一是最低比特位替換。就是利用圖像位平面最低幾位比特對人的視覺系統不敏感的特性,將這些比特替換成秘密信息的相應比特。利用此種方法可在偽裝載體中隱藏大量秘密信息而不被察覺。二是偽隨機置換。就是把秘密信息比特近似隨機地分散在整個載體中。用偽隨機數發生器產生索引序列,并在以此為索引的載體元素中插入秘密信息。利用此種方法插入比特的順序無規律可找,因而增加了被攻擊的復雜度。三是載體區域和奇偶校驗位替換。將載體偽隨機地分成若干個不相接的載體區域,在每個區域的奇偶校驗位上嵌入一個信息比特,若奇偶校驗位與信息比特不匹配,則區域中所有值最低一個比特位反轉,使二者相等,在譯碼過程中計算出所有區域的奇偶校驗位,排列起來重構信息。四是量化和抖動替換。利用數字圖像的抖動和量化處理過程插入秘密信息。運用預測編碼的量化誤差,通過調整差分信號Δi來傳送秘密信息。五是OSI網絡協議幀結構替換。就是將秘密信息插入TCP/IP包中未使用的空間,形成一個秘密的通信信道。
2.2基于變換的信息隱藏方法
基于變換的信息隱藏,即使用離散余弦變換或小波變換在圖像中嵌入信息,以獲得更為健壯的隱藏信息。小波變換法是將所要傳送的圖像初始化(每個像素后R位置1),后經小波變換,分解成不同尺度空間、不同分辨率的一系列子圖像,再對這些子圖像進行適當量化、編碼和加密隱藏處理,完成秘密信息的隱藏。回聲隱藏法是一種有代表性的變換技術,即在離散信號f(t)中引入回聲f(t-Δt) ,生成偽裝信號c(t)=f(t)+af(t-Δt)來隱藏信息。利用回聲信號延時Δt進行編碼,發送Δt表示信號編碼“0”,發送Δt’表示信號編碼“1”。發送端將信號分成間隔大小不一的多個信號段,每一個信號段插入一個秘密比特,接收方通過同步措施重構信號段,并從偽裝信號中提取秘密信息。
2.3基于擴頻的信息隱藏方法
借鑒擴頻通信技術原理,將信號調制到遠遠大于所需的帶寬內傳輸,讓信號淹沒于信道噪聲和熱噪聲之中,接收端采用相關檢測法恢復出有用信號,濾除干擾信號,實現信息隱藏。由于這種方法占用頻帶很寬,所傳輸信號的信噪比(可以工作于負信噪比條件下)和功率譜密度都很小,因而很難被檢測和干擾,具有很強的隱蔽性和較低的截獲概率。
除此之外,基于統計知識的信息隱藏、基于變形技術的信息隱藏、基于神經網絡的信息隱藏等許多信息隱藏方法尚在研究中。
3.信息隱藏技術對發展隱蔽通信的啟示
信息隱藏技術與密碼技術相比,在于它麻痹了攻擊者的意志,使得秘密信息隱藏于信息海洋之中,從而獲得意想不到的安全效果,受到人們越來越多的關注,同時也為隱蔽通信提供了一種思路,可以用在特殊情況下的最低限度通信。
3.1“隱話于數”
隨著信息技術的迅速發展,數據通信業務增長較快。將秘密的話音業務隱藏于數據海洋中,不失為一種可取的方法。一是在發端采取特殊的話音編碼技術,將編碼后的話音編碼插入數據文件中,替換數據文件中的冗余信息,如文本文件、圖像文件等,接收端用特殊的解碼設備將其還原出來。二是在基于以太網技術的數據包中插入編碼后的秘密信息,如將其插入IP幀結構或TCP幀結構中保留的比特位,并以特定的記號標識數據包的順序。三是將其插入噪聲中。借鑒信息隱藏技術中量化和抖動替換技術,在有特殊需要的情況下,將秘密信息插入噪聲中傳送,用于特殊時期敏感信息的隱蔽傳遞。
篇2
關鍵詞:信息隱藏技術;研究
中圖分類號:TP391.41 文獻標識碼:A 文章編號:1001-828X(2013)04-0-01
一、語音信息隱藏技術的定義
語音信息隱藏,顧名思義就是在音頻中嵌入秘密信息,是利用人體聽覺器官的不敏感(聽覺冗余),以及音頻信息本身存在的冗余性(數據特性冗余),將秘密信息通過一定的算法以一種不被察覺和感知的方式隱藏于音頻載體(包括語音、樂音等)中,以達到隱蔽通信的目的。
一般情況下,一個安全、有效的音頻信息隱藏系統必須滿足以下三項技術要求:一是高度的透明性,即混合音頻與載體音頻在感知上不可區分,在統計特性上也難以區分;二是具有一定的嵌入容量,即嵌入到載體音頻中的信息量,以滿足隱藏通信的要求;三是具有較強的魯棒性,即具有抵抗擾、攻擊的能力,以保證接收方能正確提取秘密信息。
二、信息隱藏的基本方式
(一)傳輸隱藏。在視頻通信系統中隱藏信息,利用視頻通信壓縮編碼中可利用的資源,在確保不使視頻信號質量嚴重下降的前提下,嵌入壓縮的話音編碼,形成秘密通信信道。
(二)載體隱藏。在文本文件、圖像文件以及可執行文件中插入秘密信息,可實現信息隱藏。利用話音信號的自然冗余性,將秘密信息直接編碼到文件內容中去,或將其編碼到文本格式中,形成以文本為載體的信息隱藏,將秘密信息插入圖像文件中對人的視覺系統不敏感的比特位,在不影響圖像質量的前提下實現信息隱藏。利用可執行文件中的冗余信息,加載秘密信息。
(三)存儲隱藏。利用計算機系統中保留或未使用的空間保存秘密信息,為隱藏信息提供另外一種方式,通過創建隱藏分區、使用操作系統分配給文件但未使用的空間來隱藏信息。同一個計算機系統中不同安全級別的兩臺主機,根據預先約定的規則,通過存儲特定數據也可傳遞信息。級別高的主機在特定區域存儲不同大小、不同名稱的文件,級別低的主機雖不能訪問數據,但可從文件列表獲取所要的信息。
三、信息隱藏在軍事領域的應用
現代高技術局部戰爭對軍事通信提出了很高的要求,除具備各種技術能力和軍事能力外,抗毀頑存能力和安全保密能力尤其重要,軍事通信設施歷來都是地方首先攻擊、殺傷的目標。如何安全及時地傳遞情報信息與指揮控制信息,并避免敵方的竊聽或篡改,關系到能否真正有效地控制信息安全。
日益發展的信息隱藏技術有別于以往的加密解密技術,特別實在利用共同通信網絡傳送秘密嘻嘻方面新建了一條隱蔽安全的傳輸信道,引出了一種新穎的作戰方式,豐富了網絡戰的內容。信息隱藏技術與其他信息安全技術相比,具有不可比擬的優點,因此,它在軍事上具有更加廣闊的應用前景。音頻信息隱藏技術作為信息隱藏技術的一個重要分支,同樣也受到各方面的廣泛關注。現將音頻信息隱藏技術在軍事上的應用總結如下:
1.隱藏通信。由于隱藏通信具有的透明性,人們很難覺察到隱藏在載體中的秘密信息,因此,某些重要軍事信息就可以隱藏在普通的多媒體數據中傳輸,從而避開第三方的竊聽和監控。網絡情報戰是信息戰的重要組成部分,其核心內容是利用公用網絡進行秘密信息的傳送,但是,經過加密的文件的無序容易引起攻擊者的注意。網絡多媒體技術的廣泛應用使得利用公用網絡進行隱藏通信有了新的思路。音頻文件是廣泛使用的普通多媒體,可以利用數字化音頻信息相對于的聽覺冗余,進行各種時域和變換域的信息隱藏,從而實現軍事秘密信息的隱藏通信。
2.情報完整性鑒定。數據完整性鑒定,又稱作數據篡改驗證,是指對某一信息的真偽或完整性的判別,并進一步指出該信息與原始真實信息的差別,即提供有關證據指明真實信息可能經歷的篡改操作。在軍事情報中,對情報信息的真偽或完整性的判別顯得尤為重要。例如,可以通過使用脆弱水印技術保護情報信息,一旦被篡改就會破壞水印,從而很容易被識別。
3.攻敵不備。軍事專家認為,堵塞或截斷敵人的情報渠道最有效的措施就是對敵通信偵察平臺及通信偵察分隊實施武力攻擊或干擾。如今的信息激技術條件下,我軍要考慮的是如何將各種計算機病毒、“信息炸彈”等信息系統的天敵安全地傳輸到敵軍的信息通信系統中去,在必要的時候激活它們,給敵軍以致命的打擊,音頻信息隱藏技術就可以被用來完成殊榮這些“信息炸彈”的任務。
4.數據保密。在進行秘密數據存儲時要防止其被非授權用戶訪問,這是軍事安全的重要內容。有了音頻信息隱藏技術,就可以利用它來為硬盤、光盤和U盤等存儲設備上的秘密信息多添加一層防護,這樣就能不引起敵方的注意,從而保證了秘密信息的安全性。
5.識別敵我信息。在信息戰中,敵對雙方都試圖截獲、利用、破壞對方的信息,甚至用一些假信息來欺騙對方。因此,信息戰中對敵我信息的識別顯得尤為重要。信息隱藏的分支—音頻水印技術已作為解決此問題的一個方案:即信息的發送方,將自己的識別代碼以音頻水印的形式隱藏在所要發送的信息中;當接收方發現接收、截獲的信息中檢測不到己方的識別代碼或與知的識別碼不同時,即可斷定該信息來自敵方,從而決定進一步的處理方案。
篇3
關鍵詞:信息隱藏 通信 信息安全
中圖分類號: TP309.7 文獻標識碼: A 文章編號: 1003-6938(2011)04-0062-04
Research on the Application of the Information Hiding Technology in Communication
Qiao Mingliang Song Li (People's Liberation Army No.68026, Lanzhou, Gansu, 730020)
Abstract:The emergence and development of the information hiding technology, have exploited a new field for the research and application of the information security. Compared with the information encryption technology, the principle and characteristics of the information hiding technology are discussed in detail. In addition, the application of the information hiding technology in communication in the future is discussed also.
Key words: information hiding; communication; information security
CLC number: TP309.7 Document code: A Article ID: 1003-6938(2011)04-0062-04
1 引言
隨著通信技術的飛速發展,信息安全正逐漸成為一個重要的研究課題。傳統的信息安全機制普遍采用信息加密方式。但隨著計算機軟硬件技術的發展對加密信息破譯能力的大幅提升,迫使人們對加密算法的強度提出越來越高的要求。此外,加密技術在一些領域日益呈現出一定的局限性,它在防止信息泄密的同時,也暴露了機密信息的存在,因此,容易引起攻擊方的注意是加密技術一個不可避免的顯著弱點。信息隱藏(Information Hiding)是信息安全領域一個新興的研究熱點,涉及感知科學、信息論、密碼學等多個學科,并涵蓋信號處理、擴頻通信等多個專業技術的研究方向,它的出現和發展,為信息安全的研究和應用拓展了一個新的領域。[1 ] [2 ] [3 ]
信息隱藏的實現利用了數據文件(主要是多媒體文件)的冗余性和人類感覺器官分辨信息的能力有限性等特點,通過各種嵌入算法,將秘密信息嵌入到作為載體的多媒體文件中。[4 ] [5 ] 由于隱密載體與原載體在特征上沒有區別,不易引人注意,從而容易逃過攻擊者的破解,實現秘密信息的安全傳輸。因此,信息隱藏技術所具備的特殊優勢決定了其可廣泛應用于電子商務、保密通信、版權保護、拷貝控制及操作跟蹤、認證和簽名等各個信息安全領域。本文通過對信息隱藏與信息加密技術的比較,對信息隱藏技術的原理、分類、實施方法、具體特征等進行詳細分析,并研究了其在通信中的應用前景。
2 信息隱藏技術的原理和特征
2.1 信息隱藏與信息加密
信息加密是利用密碼學技術將機密文件進行加密編碼,把明文變換成密文后,通過公開信道送到接收者手中(見圖1)。由于經過加密處理的密文是一組亂碼,當監視通信信道的攻擊者發現并截獲到亂碼后,就可以利用已有的各種攻擊方法對密文進行破譯。這種方式雖然不易被解密,但通信易被第三方察覺,一定程度上向攻擊者明確提示了重要信息的存在,所以容易引起攻擊者的注意,進而遭受到干擾和攻擊,導致密文通信失敗。同時,即使攻擊者無法對密文進行破譯,也可在破譯失敗后將該信息進行破壞,使得合法的接收者也無法獲取密文。
信息隱藏也稱“信息隱匿”,是信息安全研究領域中的一門新興的交叉學科,也是當前信息安全領域國內外各機構研究的熱點方向。信息隱藏與信息加密的目的相同,都是為了保護秘密信息的存儲和傳輸,使之免遭第三方的破壞和攻擊,但兩者之間具有顯著的區別。信息隱藏技術是將機密信息秘密隱藏于另一公開信息(載體、宿主、掩體對象)中,即將秘密信息(嵌入對象)嵌入到另一表面看起來普通的信息載體中,然后通過該公開信息(隱藏對象)的傳輸來傳遞秘密信息(見圖2)。第三方很難從公開信息中判斷機密信息是否存在,即無法直觀地判斷所監視的信息中是否含有秘密信息。這種方式使含有隱匿信息的宿主信息不會引起第三方的注意和懷疑,降低了機密信息的截獲率,從根本上保證了機密信息的安全。其關鍵技術主要是在確保宿主文件格式、質量和大小不變的前提下,將密文保存在該宿主文件中,且能對密文實現無損還原。
2.2 信息隱藏技術的原理
信息隱藏系統(典型模型見圖3)包括一個嵌入過程和一個提取過程。在嵌入和提取過程中通常都會使用一個秘密信息來對其進行控制,使得只有合法授權用戶才能對其進行操作,這個秘密信息被稱為隱藏密鑰,隱藏密鑰在嵌入過程中稱為嵌入密鑰,在提取過程中稱為提取密鑰。
在嵌入過程中,信息隱藏者利用嵌入密鑰,將密文添加到載體中,生成隱蔽載體。隱蔽載體在傳輸過程中有可能被隱藏分析者截獲并進行處理。在提取過程中,提取者利用提取密鑰從接收到的、可能經過修改的隱蔽載體中恢復出密文。在密文提取時,根據隱藏算法的不同,有可能需要載體,也可能不需要。
信息隱藏的研究分為隱藏技術和隱藏分析技術兩部分。隱藏技術研究的主要內容是尋求向載體中秘密嵌入密文的方法;隱藏分析技術研究的主要內容則是考慮如何從隱蔽載體中發現密文的存在,從而正確獲取所嵌入密文,或通過對隱蔽載體的處理達到破壞嵌入密文和阻止攻擊方提取嵌入密文的目的,這一過程中使用的算法通稱為分析算法,其中用于隱藏信息檢測的算法又稱為檢測算法。
信息隱藏可在不改變原有通信設備的基礎上實現,只需要在原通信系統的收發設備,增加信息隱藏/隱藏信息提取模塊,便能夠在完成信息隱蔽傳送的同時,保持系統原有的通信功能不受其影響(見圖4)。[5 ]首先獲取密文信息,為進一步提高安全性,可結合信息加密技術對密文信息進行預處理,得到加密信息,之后可采取交織、糾錯等編碼措施。接下來,獲取載體信息,如音頻、圖像、文本等原始宿主信息;如果采用的是變換域信息隱藏算法,則需要對載體信息進行相應的域變換;同時,為使接收端能對隱藏信息進行準確的盲檢測,可在載體信息中加入同步信號。之后,便可將秘密信息嵌入到載體信息中、完成變換域的反變換,得到隱蔽載體。最后,由發送端將隱含密文信息的隱蔽載體通過公共信道進行傳送。
接收端獲得隱蔽載體后,對其進行相應的域變換、信道解碼和解密后,就獲取了所嵌入的密文信息。
2.3 信息隱藏技術的分類及特征
信息隱藏技術一般具有如下分類方法:
(1)按載體類型分類。根據信息隱藏所采用載體的不同,信息隱藏技術可分為文本信息隱藏、音頻信息隱藏、圖像信息隱藏、視頻信息隱藏等。音頻信息和圖像信息隱藏是信息隱藏的重要分支。
(2)按密鑰分類。若嵌入和提取采用相同密鑰,則稱其為對稱隱藏算法,否則稱為公鑰隱藏算法。
(3)按嵌入域分類。主要可分為空域(或時域)方法及變換域方法。
(4)按提取的要求分類。若在提取隱藏信息時不需要利用原始載體,則稱為盲隱藏;否則稱為非盲隱藏。
(5)按保護對象分類。主要可分為隱寫術和水印技術(見圖5)。
隱寫術的目的是在不引起任何懷疑的情況下秘密傳送消息,信息隱藏技術在通信中的應用主要是指隱寫術。數字水印是指嵌在數字產品中的數字信號,可以是圖像、文字、符號、數字等一切可以作為標識和標記的信息,其目的是進行版權保護、所有權證明、指紋(追蹤多份拷貝)和完整性保護等。匿名通信就是尋找各種途徑來隱藏通信的主體,即信息的發送者和接收者。
2.3.1 基于音頻信號的信息隱藏
基于語音信號的信息隱藏技術,以嵌入信息所采用的域為依據,可將語音信息隱藏劃分為時域音頻隱藏、頻域音頻隱藏、離散余弦變換(DCT)域音頻隱藏,小波(Wavelet)域音頻隱藏和壓縮域音頻隱藏等。[7 ] [8 ] [9 ] [10 ]這些方法各有其優缺點:時域和頻域的嵌入方法相對容易實現,但健壯性較差;而DCT域和Wavelet域方法雖然透明性和健壯性均較好,尤其是在抵抗A/D、D/A攻擊時具有非常優秀的表現,但其操作復雜,實現難度相對較高;壓縮域隱藏算法具有較好的透明性,但健壯性相對較差。
(1) 時域隱藏。時域音頻信息隱藏,主要是對音頻信號的幅度或者音頻文件結構進行處理,是較為簡單的一類隱藏方法。它主要包括最低有效位(LSB, Least Significant Bit)算法及改進LSB隱藏、回聲隱藏和音頻文件結構隱藏等。其中,LSB隱藏的實現方法,是將待隱藏信息按一定的規律對音頻數據的最不重要位進行替換,嵌入秘密信息,其容量較大,實現容易,但健壯性較差,甚至不能抵抗微弱噪聲的攻擊?;诨芈暤碾[藏方法,是在音頻信號上疊加一些微弱的回聲,通過改變回聲的初始幅度、衰退速度和時間延遲等來嵌入隱秘信息。
(2)頻域隱藏。頻域音頻信息隱藏,是對音頻信號進行離散傅立葉變換(DFT)變換,然后對音頻的頻域特征進行相關處理,以實現信息的嵌入,主要包括頻域LSB隱藏、擴頻隱藏、相位隱藏和頻帶分割隱藏等。其中,擴頻隱藏借鑒了擴頻通信理論,將待隱藏信息以偽噪聲的形式擴散到整個音頻通帶上,因此透明性好,抗噪能力強,具有很高的實用價值。頻帶分割隱藏將音頻載體的頻帶分割成無數個子帶,充分利用聽覺閾值和聽覺掩蔽效應等人耳聽覺特性,在聽覺不太敏感的子帶上進行隱藏,聽覺透明性好,但頻域透明性較差。
(3)離散余弦變換域隱藏。離散余弦變換域隱藏,是對音頻載體進行DCT變換,然后對DCT系數進行相關操作,從而完成信息的嵌入,包括DCT域LSB隱藏、DCT域相位隱藏等方法。
(4)小波域隱藏。小波域隱藏,是對音頻載體進行Wavelet變換,然后對其系數進行修改,以實現信息的嵌入,包括Wavelet域LSB隱藏、Wavelet域能量比隱藏等。
(5)壓縮域隱藏。壓縮域隱藏方法是近年來才出現的一類隱藏方法,主要目標是將信息嵌入到壓縮算法的碼流或相關碼表中,如MP3哈夫曼碼表,MIDI樂器碼表等。
2.3.2 基于圖像信號的信息隱藏
基于圖像信號的信息隱藏技術主要有兩大類[11]:基于空間域和基于變換域。
(1)基于空間域的信息隱藏??臻g域隱藏技術多采用替換法,即利用秘密信息替換隱蔽載體中的不重要位,如載體圖像上某些選定像素點的最低有效位的值,將其用隱藏信息進行替換。這類方法算法簡單,信息隱藏容量大,但抗干擾能力較差,在進行數字圖像處理和圖像變換后,圖像的低位往往容易被改變,使隱藏信息被破壞。
(2)基于變換域的信息隱藏。變換域隱藏是將載體信息轉換到變換域,利用變換域的特性將秘密信息嵌入,再將隱蔽載體進行反變換。比較典型的有離散余弦變換隱藏、離散傅立葉變換隱藏、小波變換隱藏等?;谧儞Q域的信息隱藏方法,健壯性較好,但計算復雜度較高,嵌入信息的容量較低。
2.3.3 信息隱藏技術的特征
信息隱藏應具備四個主要特性:[12 ][ 13] [14]
(1)透明性。這是信息隱藏的基本要求,載體在嵌入隱藏信息后沒有明顯的降質,不影響載體的感覺效果和使用價值;第三方從感官或通過計算機監測都不易覺察隱藏信息的存在。
(2)健壯性。在不嚴重損害載體的前提下,當經受常見的信號處理(包括有損壓縮、濾波、調制等)、有意或無意的攻擊(如非法攻擊、篡改、刪除等)或者信道中隨機噪聲的影響后,還可以提取出原始的隱藏信息。
(3)嵌入量滿足要求。由于信息隱藏的目的是隱藏信息,因而隱藏算法能嵌入的數據量要大,以滿足隱藏機密信息的需要;隱藏算法所需的時空開銷代價要小。
(4)自恢復性。不需要原始載體信號,便能從載體中提取隱藏的機密信息;信息在經過各種操作和變換后仍能很好地恢復。
3 信息隱藏技術在通信中的應用前景
當前,我國在信息安全的應用方法和研究領域方面,大多還是采用傳統意義下的信息加密技術,例如用hash函數,偽隨機序列等密碼學技術等,這種信息安全模式存在兩大弊端:一是信息安全無法保障,不能保證加密的信息不被破譯;二是耗資巨大,現代先進信息安全技術往往對設備要求較高,這在很大程度上增加了對基礎工業的投入。
因此,對信息隱藏新技術與新模式的研究和發展,在信息安全領域具有很大的潛在價值。具體而言,信息隱藏技術在通信中的應用前景有以下幾個方面:
(1)將被動保密變主動隱藏。新型信息隱藏技術使需要保護的消息由“看不懂”變為“看不見”;將傳統的“讓攻擊方解密不了”的信息加密理念提升為“讓攻擊方想象不到”的層面,從而使通信中傳統的保密、預防的被動模式,轉型到既安全又能夠迷惑第三方的主動模式。
(2)現有傳輸條件下的低信息截獲率。采用先進的信息與信號處理技術,以及多級包裝式信息隱藏新模式,可在很大程度上降低現有傳輸條件下秘密信息的截獲率。舉例而言,假如需要傳輸秘密文本信息A,我們將該文本A隱藏于另一文本信息B中,之后,我們將該文本B隱藏于圖片C中,再將圖片C隱藏于圖片D中,最后將圖片D隱藏于普通話音中。即文本A(隱藏于)文本B(隱藏于)圖片C(隱藏于)圖片D(隱藏于)普通話音。通過上述方式,一是攻擊方不會想到秘密信息正在以一種特殊多級包裝形式進行傳輸,也就沒有試圖解密的意圖;二是即使前幾層包裝信息(B、C、D)被破譯,攻擊方自以為解密成功,從而放棄繼續解密的意圖,卻不知道真正的秘密信息(文本A)并沒有被解密出來。
(3)多種信息安全方式的綜合應用。根據不同的實際應用環境和需求,可將多種不同的信息安全技術結合應用[15 ] [16 ] [17 ],進一步提高信息的安全度。例如,當需要傳遞秘密信息M時,首先將M利用密鑰K通過傳統加密技術,得到M。然后結合多變換域信息隱藏和加密技術,將載體信息C分成兩部分(x,y),經不同的變換域(F(x),G(y)),一部分嵌入密文(?濁(F(x),M')),一部分將密鑰經公鑰算法加密后嵌入(?滋(G(y),K')),合并后得到隱蔽載體再進行傳輸。通過上述步驟,較大程度上增加了信息破解的難度,提高了信息的安全防護能力。
參考文獻:
[1][12][15]王麗娜等. 信息隱藏技術與應用[M]. 武漢:武漢大學出版社,2009.
[2][5][16]楊波. 信息隱藏技術及其應用[M]. 北京:科學出版社,2002.
[3]吳志軍等.語音隱藏的研究及實現[J].通信學報,2002,23(8):99-104.
[4]Artz, D, “Digital Steganography: Hiding Data within Data”[J].IEEE Internet Computing Journal,2001,(6).
[6][7][13]袁開國等. 音頻信息隱藏技術研究[J]. 中興通訊技術, 2007,13(5):6-9
[8][14]李躍強,孫星明. 一種用音頻作載體的信息隱藏算法[J]. 計算機應用研究,2005,(5):29-33.
[9]Blackledge.J, Coyle,E: “Information Hiding by Stochastic Diffusion and its Application to Printed Document Authentication”.[C].ISSC Conference,Dublin, 2009:1-6.
[10]Marvel, L.M., Boncelet Jr., C.G. & Retter, C., “Spread Spectrum Steganography”[J].IEEE Transactions on image processing, 1999, 8(8):1075-1083.
[11]Wang, H & Wang, S, “Cyber warfare: Steganography vs. Steganalysis”[J].Communications of the ACM,2004, 47(10):76-82.
篇4
關鍵詞:混沌 Hash算法 混沌Hash 雙向認證 身份隱藏
中圖分類號:TP391 文獻標識碼:A 文章編號:1007-9416(2013)07-0092-02
引言
RFID即無線射頻識別技術,它是一種非接觸式的自動識別技術,通過無線射頻信號自動識別目標對象并獲得相關的數據信息,不需要對它進行人工干預,可應用于各種惡劣的環境中。RFID在生活中的應用范圍很廣,目前在物流管理系統、高速公路系統、停車場管理系統等領域中得到了廣泛的應用。
1 RFID系統的組成及面臨的安全問題
基本的RFID系統由三部分組成:RFID讀寫器、RFID標簽和后臺數據庫。它的工作原理并不復雜:首先,RFID標簽進入磁場所在區域內,接收讀寫器發出的射頻信號,然后憑借感應電流所獲得的能量把存儲在芯片中的標簽信息發送出去,或者由標簽主動發送某一頻率的信號,讀寫器讀取標簽信息并進行解碼后,最后送至后臺數據庫系統進行有關數據信息的處理。
然而由于RFID標簽存儲能力低、計算能力弱和電源供給有限,而且它是通過無線射頻信號進行通信,很容易受到外界干擾,從而出現信息泄露或位置跟蹤等隱患。RFID的隱私保護問題已經成為國內外研究的焦點,迄今,已有相當多的認證協議被提出。文獻[1-2]提出了Hash Lock認證協議,該協議有效的保證標簽的隱私,但標簽ID沒有采取動態刷新機制,導致標簽很容易被追蹤定位;另外提出了一種隨機化Hash-Lock協議,在該協議中,標簽每次產生一個隨機數,解決了標簽跟蹤定位的問題,但在每次Tag認證時,數據庫都要把所有的標簽的ID發送到讀寫器,通信量比較大。
2 基于混沌的hash算法
Hash函數也稱為單向散列函數,它是一個明文到密文的不可逆的映射,即只能對明文進行加密,而不能對其進行解密的算法。同時,Hash函數可以將任意長度的輸入變換得到固定長度的輸出。
在混沌系統中,系統對初始狀態和參數極度敏感,混沌系統的動力學行為又極其復雜,不符合概率統計學原理,難以進行重構和預測。此外,混沌系統還具有單向性,每次迭代時,即使明文發生極小的變化,都會產生兩個完全不同的結果,而對于同一個混沌映射,若其初始值和參數完全相同,必定產生兩個完全相同的結果,可見,混沌序列具有hash函數所要求的單向性、初值敏感性等眾多的要求,可基于混沌理論構造出優秀的Hash算法。
2.1 分段混沌映射
本文采用了一維logistic映射分段方程來構造Hash函數,分段Logistic方程如下:
其中,為方程的狀態量,為參數變量,P為動態分段參數。
2.2 基于混沌映射的hash構建方法
混沌hash的構建流程如圖1所示:
混沌hash的構建算法如下:
步驟一,用ASCII碼表示明文序列為S,,令,把sum轉化為a0,作為迭代方程的初值。
步驟二,把步驟一S中的Si轉換為(3.5,4)之間的數后存放在數組U中,作為方程的參數值。
步驟三,把作為混沌方程初始值,數組U作為參數,迭代混沌方程N次,N為明文S的長度。
步驟四,把第一步得到的最終Xn作為方程初始值,作為參數,迭代方程1000次。
步驟五,從迭代的結果中選取128位,并將它們轉換為二進制:,將其組合在一起構成Hash值。
2.3 性能測試
文本測試是選取一段消息序列,計算Hash值,然后隨機改變消息序列的內容,再計算Hash值,將兩個Hash值進行對比,作為Hash函數敏感性的評判標準。為進行Hash函數敏感性測試,選用的消息序列為:“The Ministry of Land and Resources has tracked the changing return rate in some major cities such as Beijing. Shanghai,Shenzhen,Tianjin and Hangzhou.Bubbles have emerged.”。然后根據下列條件計算對應的Hash值:
(1)明文不做任何改變。
(2)把明文中的“Ministry”變為“Zinistry”。
(3)把明文中的“country”變為“wountry”。
(4)把明文中的第一個“,”變為“.”。
得到的Hash值用16進制依次表示為:
(1)79598934b5ece6eab5c545d5641622a5
(2)6b91a8da536b5b8aa55dd4ba8c2add9b
(3)cc73aaaba6e2e6ea8b9e4cd35e9234e2
(4)d5438c545c16d019bbc4bb769aace97a
從圖2可以看出,即使明文發生很微小的改變,最終的Hash值也會發生很大的變化,因此本文構造的Hash函數具有很好的初值敏感性。
2.4 碰撞攻擊分析
碰撞是指對于兩個不同的輸入s1和s2,迭代后的Hash值H(s1)=H(s2)。碰撞攻擊分析是衡量一個Hash算法優劣的重要方式。步驟為:在明文中選取一段明文,計算Hash值并以ASCII碼值表示,然后隨機地改變明文的值得到一個新的Hash值,同樣用ASCII碼值表示。對兩個ASCII碼值進行比較,記下在同一位置上有相同ASCII碼值的字符的個數。重復以上過程多次,統計不同的Hash值在同一位置上有相同ASCII碼值的字符的數目,結果如圖3所示。
由上圖可以看出,95%以上的Hash值在同一位置沒有相同的ASCII值,而且最大相同個數僅為3,說明了該算法的碰撞程度很低。
3 基于Hash算法的RFID保密機制
本文設計了一種基于Hash函數的安全認證協議,對RFID標簽與讀寫器之間通信進行認證與隱私的保護。
3.1 協議描述
當標簽進入讀寫器的磁場時,標簽與讀寫器進行通信,實現相互認證。若在數據庫中查詢到和標簽ID相同的ID1,則證明雙方身份的合法性。H(x):對明文X進行Hash運算,后臺數據庫中存放的是與標簽ID相對應的的,防止數據庫被攻擊者攻擊造成ID泄露的危險。
認證協議如圖4所示:
RFID認證流程如下:(1)讀寫器向標簽發出Query請求,并生成隨機數Rr,和Query請求一起發送給標簽。(2)標簽取出Rr和本標簽的ID進行運算,,標簽生成一個隨機數Rd,把M1和Rd一起發送給讀寫器。(3)讀寫器把M1、Rd和Rr一起轉發給數據庫系統。(4)后臺數據庫計算:,然后查詢數據庫中是否存在,使得,若存在,標簽合法。否則,標簽非法。(5)若標簽通過(4)的驗證,數據庫對Rd進行運算,得到,把M1′發送給讀寫器。(6)讀寫器收到,Rd后發送給標簽。(7)標簽接收,計算,比較Hash(ID)與Hash(ID′),若相同,則證明讀寫器合法,否則,讀寫器不合法。
3.2 安全性分析
(1)實現了雙方認證過程中的身份隱藏。在認證過程中,讀寫器并不知道標簽的ID,RFID標簽也不知道具體的讀寫器,然而通過以上過程可以在不暴露各自信息的情況下實現相互認證。(2)實現了雙向認證。經過M1Hash(Rr)與Hash(ID′)的比較,讀寫器通過了標簽的認證,經過M1′Hash(Rd)和Hash(ID)的比較,標簽通過了讀寫器的認證。(3)抗竊聽攻擊。由于Hash函數的單向性,Rr及Rd的隨機性,即使竊聽者竊聽了M1和M1′也無法得到標簽的信息。(4)抗假冒攻擊。假冒的標簽不知道合法標簽的ID,因此無法得到正確的M1與數據庫進行比較,無法通過讀寫器的驗證。(5)抗重傳攻擊:每次認證時,都會有不同的隨機數Rr,Rd,傳輸的認證消息具有隨機性,認證雙方的通信數據無規律可行,攻擊者無法預測與分析。(6)防跟蹤攻擊。在每次認證過程中,隨機數Rr和Rd是隨機變化的,所以,每次的M1和一直在變化,防止攻擊者根據固定輸出進行位置追蹤。
4 結語
本文提出了一種采用一維logistic映射分段方程來構造Hash函數的方法,并在此基礎上設計了一種RFID身份隱藏技術。本文構造的Hash函數充分利用明文信息產生迭代所需要的初始條件、參數信息以及迭代次數,該算法原理簡單,計算量小,很適合應用于RFID系統中。而且,設計的RFID認證機制,在完成雙方相互認證的前提下,有效的實現了用戶和讀寫器之間的身份隱藏,具有抗竊聽攻擊,抗假冒攻擊以及防跟蹤攻擊,安全性好。
參考文獻
篇5
Abstract: The technique of information hiding is a method which hides the information in software encryption, and it is an improvement for the thought of software encryption. In this article, we studied the information hiding on the ordinary pattern classification and the relating with cryptographic technique, introduced the conception and classification of information hiding and compared information hiding and figure watermark. The method and principle, crucial arithmetic involved of information hiding are also explained in detail.
關鍵詞: 信息隱藏;嵌入算法;密鑰;數字水印
Key words: information hiding;inset arithmetic;secret key;watermark
中圖分類號:TP319文獻標識碼:A 文章編號:1006-4311(2011)25-0142-03
0 引言
信息隱藏是融合了多個學科理論與多種技術于一身的新興技術領域,它將某一信號(一般稱之為簽字信號)嵌入到另一信號(一般稱之為主信號或稱之為掩護媒體)的過程,掩護媒體經嵌入信息后變成一個偽裝媒體。信息隱藏與信息加密是不盡相同的,信息加密是隱藏信息的內容,而信息隱藏是隱藏信息的存在性,信息隱藏比信息加密更為安全,因為它不容易引起攻擊者的注意。
隱藏后的信息,外部表現是其他的人根本看不到這條信息的存在,它并不對信息的內容和基本特征做任何的改變,由于其不易引起攻擊者注意的特點,它較之加密方法多了一層保護。密碼加密和信息隱藏是我們日常生活中常見的兩種方式,兩者各有自己的特點,在具體的情況中,發揮自己的作用。
1 信息與圖像信息隱藏技術概述
1.1 信息隱藏概念及分類 根據信息隱藏技術應用的領域不一樣,它們的側重點也有所不同,但是應用的所有領域都有一個共同點,即都是利用人類感覺器官的不敏感性(感覺冗余)以及多媒體數字信號本身存在的冗余(數據特性冗余),將信息隱藏于一個宿主信號(掩護體)中,同時不被覺察到或不易被注意到,而且不影響宿主信號的感覺效果和使用價值,從而達到隱蔽通信的目的。它是一門具有淵源歷史背景的學科,涉及感知科學、信息論、密碼學等多個學科領域,涵蓋信號處理、擴頻通信等多專業技術的研究方向。認知科學的飛速發展為信息隱藏技術奠定了生理學基礎;人眼的色彩感覺和亮度適應性都為信息隱藏的實現提供了可能的途徑;信息論、密碼學等相關學科又為信息隱藏技術提供了豐富的理論資源:多媒體數據壓縮編碼與擴頻通信技術的發展為信息隱藏提供了必要的技術基礎[1]。
從廣義上來講,包括了版權標識和信息隱秘等,但從狹義來講,信息隱藏是指以隱蔽通信為目的的信息隱秘技術。在通常情況下,大多數人都把信息隱秘從狹義來理解。當然這些分類也不是絕對的,定義的各種分類是相互關聯的。就目前來看,信息隱秘和版權標識是研究比較廣泛和熱烈的課題。前者強調隱匿信息存在性,即讓隱藏在多媒體數據中的信息不被發現,后者則關心隱藏的信息是否被盜版者修改或者刪除。[2]
信息隱藏技術主要由兩部分組成:①信息嵌入算法。它利用密鑰實現秘密信息的隱藏。②隱蔽信息提取、檢測算法。
它利用密鑰從隱蔽在體中檢測、恢復秘密信息。在密鑰未知的前提下,第三者很難從隱秘載體中得到或刪除、甚至發現秘密信息。如圖1所示。
1.2 圖像信息隱藏的基本概念 圖像信息隱藏就是以數字圖像為載體,將需要保密的信息以噪聲的形式隱藏于公開的圖像中,并且噪聲必須不為人眼所覺察,從而逃避可能的檢測者,以達到傳遞秘密信息的目的。
信息之所以能夠隱藏在數字圖像中,是因為:①圖像本身存在很大的冗余性,所以將某些信息嵌入到圖像中進行秘密傳輸是完全可行的,而且不會影響圖像本身的傳輸和使用。②人的視覺系統對某些信息有一定的掩蔽效應,利用人眼的這些缺陷,可以很好的將信息隱藏而不被察覺[3]。
1.3 信息隱秘與數字水印的區別 信息隱秘和數字水?。╓atermarking)是信息隱藏最重要的兩個分支。
信息隱秘的目的在于如何隱藏實際存在的秘密信息,主要用于信息的安全通信。采用信息隱秘的網絡通信就是把秘密信息隱藏在普通的多媒體信息中傳輸,由于網上存在數量巨大的多媒體信息,從而使得秘密信息難以被竊聽者檢測,因此將信息隱秘用于軍事上是一種新的通信方式。另外,信息隱秘還可以用于保護個人隱私。數字水印主要應用于數字作品的版權保護,是近幾年的熱點問題[4]。
對于信息隱秘與數字水印,由于兩者的目的和應用不同,因此它們的技術特點和研究的側重點也各不相同,表1比較了它們的差異。秘密信息的嵌入與提取的過程及一些策略都適用于兩者[5]。
信息隱藏技術具有以下最基本的特性:①透明性:經過一系列隱藏處理,宿主信息必須沒有明顯的降質現象,而被隱藏的信息無法人為地看見或聽見,即人的生理感觀辨別和計算機檢測都無法發現宿主信息內包含了其它信息。②魯棒性:要盡量保證隱藏了信息之后的宿主信息在經歷可能的處理和攻擊后,而不導致被隱藏的信息丟失的能力。③效率性:嵌入編碼和提取解碼的時間開銷代價是否是可以接受的。④安全性:對隱藏信息、嵌入算法進行適當的加密,增強隱藏信息的安全性。
2 BMP文件信息隱藏研究與生成
在BMP圖片中隱藏關鍵信息,其原理是利用人眼睛對不同顏色的敏感度不同,把那些存放非敏感顏色值的數據空間用來存放關鍵信息,但人的視覺發現不出來。BMP位圖是一種以像素為單位描述顏色值的最簡單圖像格式。
2.1 BMP位圖文件格式 BMP文件格式,是微軟公司為其Windows環境設置的標準圖像格式,并且操作系統提供了一套圖像處理的API函數。BMP圖像文件是位圖文件,位圖表示的是將一副圖像分割成柵格一樣,柵格的每一點稱為像素,每一個像素具有自己的RGB(紅綠藍)值,即一副圖像是由一系列像素點構成的點陣。位圖文件格式支持4位RLE(行程長度編碼)以及8位和24位編碼,在本文中只處理24位格式,在BMP文件格式中,由于是對像素級進行的操作,可以說已達到極限,可對于視覺系統而言,它還是有很大的冗余度。24位BMP圖像文件的結構特點為:
①BMP文件組成:BMP文件由文件頭、位圖信息頭、顏色信息和圖形數據四部分組成。
②BMP文件頭:BMP文件頭數據結構含有BMP文件的類型、文件大小和位圖起始位置等信息。
其結構定義如下:
typedef struct tagBITMAPFILEHEADER
{
WORD bfType; // 位圖文件的類型,必須為BM
DWORD bfSize; // 位圖文件的大小,以字節為單位
WORD bfReserved1; // 位圖文件保留字,必須為0
WORD bfReserved2; // 位圖文件保留字,必須為0
DWORD bfOffBits; // 位圖數據的起始位置,以相對于位圖
// 文件頭的偏移量表示,以字節為單位
} BITMAPFILEHEADER;
③位圖信息頭
BMP位圖信息頭數據用于說明位圖的尺寸等信息。
typedef struct tagBITMAPINFOHEADER{
DWORD biSize; // 本結構所占用字節數
LONG biWidth; // 位圖的寬度,以像素為單位
LONG biHeight; // 位圖的高度,以像素為單位
WORD biPlanes; // 目標設備的級別,必須為1
WORD biBitCount;// 每個像素所需的位數,必須是1(雙色),
// 4(16色),8(256色)或24(真彩色)之一
DWORD biCompression; // 位圖壓縮類型,必須是 0(不壓縮),
// 1(BI_RLE8壓縮類型)或2(BI_RLE4壓縮類型)之一
DWORD biSizeImage; // 位圖的大小,以字節為單位
LONG biXPelsPerMeter; // 位圖水平分辨率
LONG biYPelsPerMeter; // 位圖垂直分辨率
DWORD biClrUsed;// 位圖實際使用的顏色表中的顏色數
DWORD biClrImportant;// 位圖顯示過程中重要的顏色數
} BITMAPINFOHEADER;
④顏色表
顏色表用于說明位圖中的顏色,它有若干個表項,每一個表項是一個RGBQUAD類型的結構,定義一種顏色。RGBQUAD結構的定義如下:
typedef struct tagRGBQUAD {
BYTErgbBlue;// 藍色的亮度(值范圍為0-255)
BYTErgbGreen; // 綠色的亮度(值范圍為0-255)
BYTErgbRed; // 紅色的亮度(值范圍為0-255)
BYTErgbReserved;// 保留,必須為0
} RGBQUAD;
顏色表中RGBQUAD結構數據的個數有biBitCount來確定:
當biBitCount=1,4,8時,分別有2,16,256個表項;
當biBitCount=24時,沒有顏色表項。
位圖信息頭和顏色表組成位圖信息,BITMAPINFO結構定義如下:
typedef struct tagBITMAPINFO {
BITMAPINFOHEADER bmiHeader;// 位圖信息頭
RGBQUAD bmiColors[1]; // 顏色表
} BITMAPINFO;
⑤位圖數據
位圖數據記錄了位圖的每一個像素值,記錄順序是在掃描行內是從左到右,掃描行之間是從下到上。位圖的一個像素值所占的字節數:
當biBitCount=1時,8個像素占1個字節;
當biBitCount=4時,2個像素占1個字節;
當biBitCount=8時,1個像素占1個字節;
當biBitCount=24時,1個像素占3個字節;
Windows規定一個掃描行所占的字節數必須是4的倍數(即以long為單位),不足的以0填充,一個掃描行所占的字節數計算方法:
DataSizePerLine= (biWidth* biBitCount+31)/8; // 一個掃描行所占的字節數
DataSizePerLine= DataSizePerLine/4*4; //字節數必須是4的倍數
位圖數據的大?。ú粔嚎s情況下):
DataSize=DataSizePerLine*biHeight;
BitMap文件格式是在Microsoft Windows3.0以上版本的視窗系統環境下使用的與設備無關的點陣位圖文件模式,它允許視窗系統在任何設備上顯示這個點陣位圖。
每個BitMap文件包含一個文件頭,一個位圖信息數據塊和圖像數據。文件頭是一個BitMapFileHeader的數據結構。其中WORD(2字節)和DWORD(4字節)均為Windows系統定義的數據類型,位圖信息數。
顏色表數據域是可變長的,其長度由位信息頭中的biBitCount值決定。位圖數據的長度由圖像尺寸、像素的位數和壓縮方式等共同決定。實際尺寸可由文件頭中的第二項“文件大小”減去第五項“數據偏移”值得到。
2.2 BMP信息隱藏實現 利用BMP位圖進行信息隱藏首先需要了解BMP文件的存放格式,24位真彩BMP位圖文件包括三部分:
第一部分是BMP文件頭:前2個字節是“BM”,用于識別BMP文件的標志;第3、4、5、6字節存放的是位圖文件的大小,以字節為單位。第7、8、9、10字節是保留的,必須為0。第11、12、13、14字節給出位圖陣列相對于文件頭的偏移。[6]
第二部分是點位圖信息:從第29個字節開始,第29、30字節描述的是像素的位數。第35、36、37、38字節確定圖像字節數的多少,但通常此項為空。
第三部分是位圖陣列:從第39個字節開始,每3個字節表示一個像素,這3個字節依次表示該像素的紅、綠、藍亮度分量值,要從位圖文件中“擠”出用來隱藏信息的存儲空間。
①信息隱藏實現模型。圖像信息隱藏系統的模型如圖2所示。
②信息隱藏實現原理。根據亮度公式:I=0.3R+0.59G+0.11B可以知道人眼對于綠色分量最為敏感,對藍色分量最不敏感,綠色分量值改變1個單位就相當于藍色分量改變5個、紅色分量改變2個單位。折算為二進制,紅色分量可以改變其低兩位、綠色分量可以改變其最低位、藍色分量可以改變其低三位。這樣就可以從描述每個像素的3個字節中得到2+1+3=6個比特的冗余信息位用于存儲要隱藏信息的比特流。
3 總結
如果隱藏的文件不慎落在他人手上,我們也不必擔心文件會被輕易的解密,而失去它的安全性,因為隱藏的信息有如下兩個特點:第一,加密后的文件在外表上與一般的文件并無二致,加密前后位圖文件大小也不會發生變化,所以不必擔心被人識破;第二,被加密的信息即使被人識破了,它也有75%的冗余碼,要想破解這75%的部分,盜密者還是要花費一定的時間和精力的,這就提高了文件的保密性;第三,破密者不知道加密時所采取的算法,在沒有正確解密密碼的情況下也是很難去破譯的。綜上所述,隱藏文件的做法在給文件加密的過程中是很切實有效的一個做法,它在系統加密的過程中起著舉足輕重的作用。
參考文獻:
[1]趙樹升,趙韶平.Windows信息安全原理與實踐.清華大學出版社,2009,6:8-10.
[2]卿斯漢.密碼學與計算機網絡安全.清華大學出版社.2008:25:87-98.
[3]黃革新,肖競華.基于BMP圖像信息隱藏技術的研究與實現.Vol(5),2009:17-19.
[4]趙倩.數字水印版權保護系統:[碩士學位論文].首都經濟貿易大學,2009:89-102.
篇6
關鍵詞:信息隱藏;協作學習;立體化
隨著網絡中信息安全事件的不斷升溫,網絡安全教育也越來越受到高校重視。各大高校紛紛開設該類課程。本校計算機科學與技術、信息工程等專業都相繼開設《網絡與信息安全》、《信息安全》、《信息安全技術》等課程,普及網絡安全知識,提高學生的網絡安全技能,增加網絡安全意識。以《網絡與信息安全》課程為例,課程分配學分為4.0,采用“2+2”模式教學,其中理論2.0為課堂教學和課堂討論課時,實驗2.0為實驗課時,即每周理論2節課,單周理論課時,雙周討論課,實驗課每周2節課。該課程的體系結構如圖1所示。[1,2]
教學過程中的基礎內容
《網絡與信息安全》課程分為三大模塊:①網絡安全基本知識概述。該模塊主要講述了網絡安全的發展和現狀問題,列舉網絡安全問題引發的各種不同影響的案例。②網絡攻擊技術。該模塊主要講述網絡中的一些攻擊現象、攻擊行為以及攻擊工具等。③密碼學模塊。該模塊主要講述古典密碼學和現代密碼學的一些應用,以及信息隱藏技術的一些實際作用等。④網絡防護技術。該模塊主要講述網絡中針對安全的一些防護措施,如防火墻、入侵監測系統等。
以信息隱藏技術為例,該部分內容在整個課程中非常重要,它將一些保密或重要的信息隱藏到另外一個可以公開的媒體之中,如把指定的信息隱藏于數字化的圖像、聲音或文本當中,充分利用人們的“所見即所得”的心理,來迷惑惡意的攻擊者。近幾年來,信息隱藏技術不斷發展,越來越多地應用在生活中,如隱寫術、數字水印、數字指紋、隱藏信道、閾下信道、低截獲概率和匿名通信等,是目前較熱的話題。[3,4]
在課程中這部分內容是整個課程的重點、難點之一,教學過程采用了比較、舉例等方法,課時分配――理論教學:討論:實驗=1:1:2,理論講授以圖1中的知識框架為主線,算法原理及實現方法,討論和實驗結合中軟吉大的網絡信息安全系統進行教學。綜合起來可以把這部分內容分為以下幾部分。
1.信息隱藏位圖法
位圖法目前使用越來越少,但作為一種基礎信息隱藏方法,仍有較高的教學應用價值。該方法作為課程中的一個基本知識點,要求學生掌握它的基本原理,并能通過一個案例,掌握主要運算過程如下:
例如,一幅24位BMP圖像,文件頭和圖像數據由54字節組成,文件頭不能隱藏信息,從第55字節開始為圖像數據部分,這部分可以隱藏信息。圖像數據部分是由一系列的8位二進制數所組成,因為每個8位二進制數中“1”的個數只有奇數或偶數兩種可能性,因此若一個字節中“1”的個數為奇數,則稱該字節為奇性字節,用“1”表示;若一個字節中“1”的個數為偶數,則稱該字節為偶性字節,用“0”表示。我們用每個字節的奇偶性來表示隱藏的信息。
設一段24位BMP文件的數據為:01100110,00111100,10001111,00011010,00000000,10101011,00111110,10110000,則其字節的奇偶排序為:0,0,1,1,0,1,1,1.現在需要隱藏16進制信息4F,由于4F轉化為8位二進制為01001111,將這兩個數列相比較,發現第2,3,4,5位不一致,于是對這段24位BMP文件數據的某些字節的奇偶性進行調制,使其與4F轉化的8位二進制相一致:第2位:將00111100變為00111101,則該字節由偶變為奇;第3位:將10001111變為10001110,則該字節由奇變為偶;第4位:將00011010變為00011011,則該字節由奇變為偶;第5位:將00000000變為00000001,則該字節由偶變為奇。
經過變化,8個字節便隱藏了一個字節的信息,這樣就能很好地將信息隱藏在位圖中了。當然逆向提取隱藏信息需要花費更長的時間。
2.LSB水印提取
LSB(最低有效位)算法是在位圖法的基礎上將輸入的信號打亂,并按照一定的分配規則使嵌入的信息能夠散布于圖像的所有像素點上,增加破壞和修改水印的難度。水印信號嵌入模型如圖2,水印信號檢測模型如圖3。
3.DCT變換域算法
DCT變換域算法是這一類算法的總稱,在它下面的具體的算法會有一些不同。下面介紹一種基于模運算的數字水印算法。該方法將水印作為二值圖像(每一像元只有兩種可能的數值或者灰度等級狀態的圖像)進行處理,依據圖像在進行DCT變換后系數的統計來選取適當的閾值,通過模處理加入水印。此算法的特點是在水印檢測時不需要原始圖像(如圖4)。
模擬主動水印攻擊教學過程
通過基礎知識的學習,學生對信息隱藏技術已經有了一定的了解,為了加深記憶,使知識應用得更好,在這部分課程最后增加了一個模擬主動水印攻擊的教學模塊。該模塊主要應用前期的知識完成。常見的水印攻擊方法有:移去攻擊、幾何攻擊、密碼攻擊、協議攻擊(如圖5)。
通過模擬攻擊實驗,學生對數字隱藏技術有了更深的了解,對各種算法增加了興趣。并在課堂上針對結果展開討論。下頁圖6為實驗模擬攻擊后的有效結果之一。
選用LSB或者DCT進行水印攻擊,測試可以顯示如下頁圖6效果。
教學成效
通過對課程中信息隱藏技術教學的改進,學生對比較難懂的數字水印部分內容有了更深一步的了解。通過改革,不僅充分調動了學生的積極性,培養了自學能力,開發了創新能力,還鍛煉了學生的團隊合作意識和實踐能力。攻擊中涉及算法的選擇、操作的選擇、速度的快慢,學生都能通過團隊合作完成。學生在實踐過程中強烈感受到了成功感和自信感。
結束語
本文以信息隱藏技術內容教學為例,闡述了三種不同的信息隱藏技術的基本知識點,分析了它們之間的關聯性和區別,提高了學生的團隊合作能力和創新思維的培養,加強了學生的學習興趣。此外,本模式將教學與科研能力培養相融合,更多地引發了學生的思考。該教學模式可推廣到其他課程中。
參考文獻:
[1]李繼芳,奚李峰,董晨.IPR―CDIO環境的計算機工程教育研究[J].計算機教育,2009(18).
[2]李繼芳,奚李峰,殷偉鳳,高昆.基于合作式學習的計算機導論課程教學[J].計算機教育,2008(10).
[3]于學斗.以CDIO為指導進行網絡安全實驗教學改革[J].計算機時代,2010(5).
篇7
摘要:本文提出了一種新穎的基于多M序列加密在數字圖像中隱藏信息的方法,分析了信息的嵌入與提取模型及實現算法。通過M序列生成的理論分析和計算,設計出M序列加密庫,并利用VB實現了Word文檔的信息嵌入與提取。
關鍵詞:M序列;信息隱藏;WORD文檔;數字圖像
中圖分類號:G642
文獻標識碼:B
1引言
信息隱藏是信息安全領域一個新興研究熱點,主要研究把特定信息隱藏在數字化信息宿主中的方法。其關鍵技術是在確保宿主文件格式、質量和大小不變的前提下,將密文保存在該宿主文件中,且能對密文實現無損還原。信息隱藏是利用了某種數據文件(主要是多媒體文件)的冗余性和人類感覺器官分辨信息的能力有限性等特點,將秘密信息嵌入到稱為載體的多媒體文件中,得到隱藏載體。由于隱密載體與原載體在感覺上沒有區別,不易引人注意,從而容易逃過攻擊者的破解。若將加密技術和信息隱藏技術結合使用,對秘密信息加密后再隱藏,則會進一步提高安全性[5]。
本文提出了一種新的基于多M序列加密與數字圖像的信息隱藏的方法。數字位圖是由許多像素組成的點陣,每一個像素點用若干個二進制位來描述其灰度或顏色;而每個像素點的低位(一般是低四位)對該點灰度或顏色的影響很小,因此改變像素點的低位所引起的圖像變化難以發覺。因此,可利用這些低位存儲信息實現秘密信息的隱藏。
2信息的嵌入與提取模型
在圖像低位字節中隱藏信息有兩種方法,一種是替換法,另一種是異或法。替換法是用隱藏信息替換載體圖像像素的某些低位,而提取信息時只要將隱藏信息圖像像素的某些低位取出即可。而異或法是用隱藏信息與載體圖像像素的某些低位進行異或運算,將結果放入載體圖像像素的某些低位中實現隱藏信息,而提取信息時只要將隱藏信息圖像像素的某些低位與源圖像像素的某些低位異或即可取出。
本模型采用替換法在彩色圖像像素(RGB)的低4位(d3d2d1d0)中隱藏信息,這樣可以不需要源圖像就可以提取信息。其隱藏信息的容量接近圖像文件大小的四分之一。首先將嵌入信息(word文件)轉換成二進制流,然后從M序列加密庫中隨機選擇一條M1序列對嵌入信息進行加密運算,得到經加密處理的二進制數字。再從M序列加密庫中隨機選擇一條M2、M3序列,用M2控制是否嵌入信息,用M3控制嵌入信息(d3d2d1d0)的置亂,從而進一步提高信息的保密性[2、3]。嵌入與提取模型如圖1所示。
3隱藏信息的嵌入與提取算法
為了提高傳輸信息的安全性,除采用隱藏的技術外,還要對傳輸的信息用M序列進行加密處理。加密和解密的方法是通過模2加運算完成。信息隱藏采用二進制進行嵌入與提取。
3.1M序列的生成
M序列是非線性反饋移位寄存器產生的最長的序列,它具有與m序列相類似的隨機特性和較好的相關性。一定級數的移存器產生M序列的數目和周期為: 和 。其中r、P、N分別為M序列的線性跨度、周期和序列的數量。由計算可知M序列的周期是m序列周期的兩倍;M序列的數量比m序列的數量大許多倍。因此用M序列對信息加密提供了豐富的資源,增強了信息的隱藏能力。M序列構造困難,計算量大,因此不易解密。
M序列產生器具有非線性反饋邏輯,結構復雜,不易直接用反饋邏輯構造,需要用狀態圖構造法構造M序列。從M序列的基本特點出發,它是移位寄存器產生的最長的序列,r級移位寄存器產生的序列的周期為P=2r,一個周期中包含了r級移位寄存器的全部狀態。如圖2所示,r級移位寄存器的輸出序列{an}和狀態序列{sn}是一一對應的。
si=ai2r-1+ar+12r-2+ … +ai+r-22+ai+r-1(1)
i=1,2,3,4… ∞。
根據移位寄存器的工作原理,狀態si的后續狀態為:
si+1=(2si)mod2r+0或si+1=(2si)mod2r+1 (2)
設移位寄存器的初始狀態為全“0”,即s1=0,由式(2)可推算出移位寄存器可能的后續狀態,將這些狀態按計算的先后次序排列起來得到如樹狀的r級M序列狀態流程圖。如圖3所示。
r級移位寄存器第K層上的插點數為2K-1,總層數為2r ,分枝總數為2P-1。則第K層,第L分枝叉點的狀態值記為S(K,L)為:
(3)
式中A[K]表示通過K層任一叉點的分枝數。[A]I表示對A取整, 表示K層L分枝叉點的叉點號。通過(3)式可以求得狀態樹圖上任何一個叉點的狀態,可求得任何一條經歷的全部2r個狀態。
由狀態樹圖分析可知,分枝總數為2P-1,M序列的總數為 ,由計算可知狀態圖中有許多分枝是非M序列。因此必須從狀態圖中篩選出M序列的分枝,再對這些分枝計算狀態流程,得到M序列。根據以上M序列的狀態圖的分析,就可構造出計算M序列的框圖,用C語言進行計算,就可以優化出自相關性強而互相差的M序列,以形成M序列加密庫[1]。
3.2隱藏信息的加密
首先將隱藏信息轉換成二進制流數據:
x={x1,x2,x3……} xi∈{0,1}(4)
然后從上面生成的M序列加密庫中隨機選取一條M序列與隱藏信息的二進制流數據進行模2加運算,得到加密處理后的新序列:
z={zi|zi=xiMii=1,2,3,4…P}(5)
3.3隱藏信息的嵌入與提取
對z二進制流數據進行嵌入,用M2控制是否嵌入信息,如果M2序列某一位是1則在圖像像素的低4位嵌入信息,否則不嵌入信息。如果M3序列某一位是1則嵌入信息順序為d3d2d1d0,否則嵌入信息順序為d0d1d2d3,從而達到置亂存放的效果。提取過程是嵌入的逆過程。為了抵御信息隱藏的被攻擊,在嵌入信息前進行了圖像處理,嵌入信息后進行動態補償[6]。
4信息隱藏及提取的程序實現
實現是用微軟VB6.0軟件設計程序,對Word文件進行了加密、解密、嵌入和提取。下面給出了信息加密與嵌入過程,解密與提取過程主要源程序代碼。載體文件選擇的是一幅寬800像素,高600像素的RGB24位的BMP圖片。根據本文提出的隱藏信息的嵌入算法可以隱藏的Word文件大小為350KB。程序中省略變量的定義和文件的打開命令。其中1號文件是源圖像文件、2號文件是密寫圖像文件、3號文件是嵌入的Word文件、4號文件是提取的Word文件、5號文件是M序列庫文件、6號文件是加密后的word文件。其實驗結果如圖所示。
圖4原始圖像、密寫圖像和嵌入與提取信息息
4.1信息加密與嵌入過程
Private Sub Command1_Click()
…..
Get #5, , M1: Get #5, , M2: Get #5, , M3'分別讀取M序列1、M序列2、M序列3
Do While Not EOF(3) '信息加密處理
For i = 1 To 2
Get #3, , b: b = b Xor M1(i): Put #6, , b
x = x + 1: If EOF(3) Then Exit For
Next i:Loop
Seek #3, 1: Seek #6, 1:mm2 = &H80: f = 1
Do While Not EOF(6) '嵌入信息處理
For i = 1 To 2
mm1 = &H80
For j = 1 To 8
Get #1, , a
If M2(i) And mm1 = 1 Then
k = k + 1
If k Mod 2 = 1 Then Get #6, , b
k1 = k1 + 1
IfM3(f) And mm2 = 1 Then
a = a And &HF0: c = b And &HF0: c = c \ 16
b = b And &HF: b = b * 16: a = a Or c '嵌入信息
Else a = a And &HF0: c = b And &HF0: c = c \ 16
d3 = c And &H8: d3 = d3 \ 8: d2 = c And &H4: d2 = d2 \ 2
d1 = c And &H2: d1 = d1 * 2: d0 = c And &H1: d0 = d0 * 8
a = a Or d0: a = a Or d1: a = a Or d2: a = a Or d3 '嵌入信息
b = b And &HF: b = b * 16
End If
If k1 Mod 8 = 0 Then f = f + 1: mm2 = &H80
If k1 Mod 8 = 0 And f = 3 Then f = 1
mm2 = mm2 \ 2
End If
Put #2, , a: mm1 = mm1 \ 2
Next j: Next i: Loop
Close #1, #2, #3, #5, #6
End Sub
4.1信息解密與提取過程
Private Sub Command2_Click()
…..
Get #5, , M1: Get #5, , M2: Get #5, , M3
Seek #2, 55:mm2 = &H80: f = 1
Do While Not EOF(2) '提取信息處理
For i = 1 To 2
mm1 = &H80
For j = 1 To 8
Get #2, , a
If M2(i) And mm1 = 1 Then
k = k + 1: k1 = k1 + 1
If M3(f) And mm2 = 1 Then
b = a And &HF'提取信息
Else b = a And &HF: d3 = b And &H1: d3 = d3 * 8
d2 = b And &H2: d2 = d2 * 2: d1 = b And &H4: d1 = d1 \ 2
d0 = b And &H8: d0 = d0 \ 8: b = b And &H0
b = b Or d0: b = b Or d1: b = b Or d2: b = b Or d3 '提取信息
End If
If k Mod 2 = 1 Thenc = b
else c = c * 16: c = c Or b: x = x C 1: Put #6, , c
If x = 0 Then Exit Do
End If
If k1 Mod 8 = 0 Then f = f + 1: mm2 = &H80
If k1 Mod 8 = 0 And f = 3 Then f = 1
mm2 = mm2 \ 2
End If
mm1 = mm1 \ 2
Next j: Next I:Loop
Seek #6, 1
Do While Not EOF(6) '信息解密處理
For i = 1 To 2
Get #6, , b: b = b Xor M1(i): Put #4, , b
If EOF(6) Then Exit For
Next i:Loop
Close #2, #4, #5, #6
End Sub
5結束語
本文提出了一種新穎的基于多M序列加密在數字圖像中對Word文檔進行信息隱藏的方法,首先構造了信息的嵌入與提取模型。研究了M序列生成方法、信息的加密及嵌入算法,并利用VB6.0平臺進行編程試驗。經大量的試驗證明,該方法信息隱藏的峰值信噪比(PSNR)大于50dB,而PSNR大于36dB時人眼不會觀察出圖像的改動。該方法通過了RS和SPA分析的檢測。實驗證明,該方法信息隱藏方便、安全可靠,信息隱藏量大,具有較好的應用前景和使用價值。
本文的創新點:(1)提出了多M序列加密庫進行加密處理,增強了信息在Internet上傳輸的保密性及截獲文件的解密難度。(2)設計了一種新穎的嵌入和提取的算法并在VB平臺上實現了算法。⑶嵌入信息為Word文件,可以包括字體格式、表格、圖形等,因此具有廣泛的應用價值。
參考文獻
[1] . M序列碼分多址研究[J]. 江南航天科技,1995,(4):12-17.
[2] 崔寶江. 信息安全實驗指導[M]. 北京:國防工業出版社,2005:1-25.
[3] 王海春. 基于多混沌系統的數字密寫技術[J]. 微計算機信息,2006,(11):83-85.
[4] 陳銘等. 基于Arnold變換的圖像信息偽裝算法[J]. 計算機應用研究,2006,(1):235-238.
[5] 楊波. 信息隱藏技術及其應用[M]. 北京:科學出版社,2002.
篇8
作者簡介:劉開會(1986-),女,山東德州人,碩士研究生,主要研究方向:信息隱藏; 徐江峰(1965-),男,河南禹州人,教授,博士,主要研究方向:信息安全、混沌加密通信。
文章編號:1001-9081(2011)07-1917-03doi:10.3724/SP.J.1087.2011.01917
(鄭州大學 信息工程學院,鄭州 450001)
()
摘 要:Lee等人(LEE C F, CHEN H L. A novel data hiding scheme based on modulus function. The Journal of Systems and Software, 2010, 83(5): 832-843)提出了一種基于模函數的數據隱寫方法,在圖像質量可接受的情況下,每個像素的最大嵌入容量為4位二進制數。但是當每個像素的嵌入量為4位時,隱寫圖像的質量較差,容易引起攻擊者的注意。對該方法進行了改進,縮小了像素改變的范圍。理論分析及模擬實驗表明,改進方法不但保留了原方法的各種優點,而且使PSNR值增加1.5~3.5dB,提高了隱寫圖像的視覺不可見性及抵御RS攻擊的能力。
關鍵詞:隱寫方法;模函數;峰值信噪比;RS攻擊
中圖分類號:TP391.41;TP309文獻標志碼:A
Improved data hiding scheme based on modulus function
LIU Kai-hui, XU Jiang-feng
(School of Information Engineering, Zhengzhou University, Zhengzhou Henan 450001,China)
Abstract: The new method proposed by Lee et al. (LEE C F, CHEN H L. A novel data hiding scheme based on modulus function. The Journal of Systems and Software, 2010, 83(5): 832-843) was based on modulus function. In this method, each pixel can carry a maximum of 4 bits with an acceptable visual quality. When each pixel is embedded with 4 bits, the quality of stego-images is much worse; as a result, this may catch the attention of attackers. Consequently, this paper improved the method, which narrowed the range that pixels changed. The theoretical analysis and simulation results show that the new method not only keeps the various advantages of original method, but also makes the Peak Signal-to-Noise Ratio (PSNR) value increase 1.5~3.5dB. Thus, it can raise imperceptibility and the ability resisting RS attack of stego-images.
Key words: steganographic method; modulus function; Peak Signal-to-Noise Ratio (PSNR); RS (Regular Singular) attack
0 引言
數據隱藏是一種偽裝術,它實現了隱藏于載體中的秘密信息,在約定雙方和多方之間進行不可見傳輸[1]。隱藏秘密信息的載體有多種,如:圖像、文本、音頻等。隱藏方法一般分為數字水印和隱寫術。這兩者的應用目的不同,數字水印主要用于認證和版權保護,側重于含密圖像的魯棒性和安全性;而隱寫術的主要應用是秘密通信,側重于嵌入容量和視覺不可見性[2]。
隱寫術的目的是在發送方和接收方之間建立一個隱蔽的通信,潛在的攻擊者不知道通信的存在,從而隱藏了信息本身的存在。在隱寫方法中,最簡單和被眾人所知的是最低有效位(Least Significant Bit, LSB)替代法,該方法直接替換載體圖像像素的最低k位來嵌入信息,能夠得到較高的嵌入容量。由于不考慮統計信息的變化等,該方法得到的圖像質量并不高而且容易受RS攻擊[2]。2003年Chan等人又提出了基于LSB的OPAP(Optimal Pixel Adjustment Process)方法[3],該方法首先進行LSB替代,然后對像素進行一系列調整,在保持相同嵌入量的同時,提高了隱寫圖像質量。2006年Mielikainen提出了一種LSB匹配法[4],根據載體像素的最低位與秘密數據相同與否進行嵌入,得到的圖像質量較好,但是每個像素只能隱藏一位。除此之外,國內外學者還提出了多種其他的隱寫方法。2003年,Wu等人提出了利用像素差(Pixel Value Difference,PVD)進行空間域隱藏的方法[5],它首先計算相鄰兩個像素的差值,根據差值判斷像素對屬于平滑區域還是邊緣區域,然后針對不同區域進行不同容量的嵌入。該方法不僅能夠獲得較好的圖像質量,而且還能夠抵御RS攻擊。后來,許多基于PVD的方法相繼被提出[6-7]。此外,2006年Zhang和Wang提出了嵌入方向拓展(Exploiting Modification Direction,EMD)方法[8],Kim等人在此方法的基礎上提出了改進的嵌入方向拓展法[9]。
2010年Lee等人提出了一種新的基于模函數的數據隱藏方法[1],該方法嵌入容量大,有一定的安全性,但是還存在一些缺陷,如圖像質量不是很好,用RS分析得到的實驗結果也不盡人意。針對其缺陷,本文在此方法的基礎上進行了改進。實驗證明,改進的方法在保持原有優點的同時,進一步提高了視覺不可見性和安全性。
1 基于模函數的數據隱藏方法
一個M×N的載體圖像I,像素記為x;偽裝圖像I′,像素記為x′。在嵌入數據之前,用兩個函數Hr(R1,α),Hc(R2,β)選擇兩個集合Kr{Kri|i1,2,…,2α},Kc{Kcj|j1,2,…,2β},其中R1∈[1,2α!],R2∈[1,2β!]。α+β是每個像素需要隱藏的二進制位數。Kr中的每個元素值互不相同,而且其十進制數值在[0, 2α-1]內。同樣,Kc中的每個元素Kcj也不相同,其十進制落在[0, 2β-1]范圍內。在該方法中,R1,R2,α,β是四個密鑰。秘密數據比特流記為S。把S分成許多段Sk,Sk又分為Sk1和Sk2,即SkSk1Sk2,其中Sk1包含α位數據,Sk2包含β位數據。α和β越大,則嵌入容量越大。例1說明了根據函數Hr()和Hc()如何得到集合Kr和Kc。
例1 假設α3,β2,R12,R224。0~2α-1共2α個數據組成的全排列如表1所示,0~2β-1共2β個數據組成的全排列如表2所示。根據Hr(R1,α)Hr(2,3),Hc(R2,β)Hc(24,2),得到Kr{000,111,100,011,010,101,110,001},Kc{11,01,00,10}。
表1 0~2α-1的所有排列方式
表2 0~2β-1的所有排列方式
Kr和Kc集合產生后,它們的值可以進一步形成變異笛卡爾積KrKc,不同于笛卡爾積,變異笛卡爾積KrKc由Kr和Kc產生一個有2α×2β個元素的有序集合,集合中的元素不是有序對,而是一個二進制串。即
KrKc{KriKcj|Kri∈Kr,Kcj∈Kc,i1,2,…,2α,
j1,2,…,2β}(1)
其中:KriKcj表示Kri與Kcj連接后的得到的長度為α+β的二進制串,并且其十進制數值在[0,2α+β-1]內。根據KriKcj位串,可以計算出其位置d(d∈[1,2α+β])。
d2β×(i-1)+j(2)
其中:i,j分別為Sk1;Sk2在Kr,Kc中的位置;d是一個十進制數,表示Sk的位置。
集合G表示用來隱藏數據的像素x可變換的像素集,它由模函數
f(x)x mod n(3)
和像素x產生。假設γf(x),則G{gi|i1,2,…,n}{x-γ,x-γ+1,…,x-γ+n-1},其中,n2α+β。例2描述了如何產生像素集。
例2 α2,β2,x116,x279。根據式(3)可得,γ116 mod 240,γ279 mod 2415,G1{16-0,16-0+1,16-0+2,…,16-0+14,16-0+15},G2{79-15,79-15+1,79-15+2,…,79-15+14,79-15+15},如圖1所示,方格內的數據表示像素值,方格下方的數據表示對應像素的位置。
圖1 原方法產生的像素集
像素集產生后, 根據式(2)計算α+β位秘密數據在KrKc中的位置d,則G中的第d個元素即是偽裝像素值x′,即x′gd。這樣就完成了數據的嵌入。在秘密數據提取過程中,授權方用已知密鑰α,β,R1,R2,獲得Kr和Kc集合,然后用式(1)生成變異笛卡爾積。根據隱秘圖像的像素值x′計算d,dx′mod n+1,然后從KrKc中得到第d個元素Sk,則Sk即為秘密數據。
該方法與傳統的LSB替代法相比,安全性有所提高,但是進行隱寫后的圖像質量與LSB替代法基本相同。當每個像素隱藏n位時,對于載體像素x,其像素的最大改變量仍然為2n-1;當n較大時,隱寫圖像的質量較差。為此,本文對此方法進行了改進,以減小像素的最大改變量。
2 改進后的方法
改進后的方法仍然利用模函數進行隱秘數據的嵌入和提取,區別在于x像素集的產生方法不同,嵌入過程中x并不是由像素集中第d個元素來代替,而是由像素集中模為d-1的元素來代替。當每個像素嵌入1位時,與原方法得到的圖像質量相同,當每個載體像素嵌入n位時,n∈{2,3,4},除了少數像素外,大多數像素的最大改變值從2n-1下降到2n-1。
2.1 數據嵌入過程
輸入:密鑰α,β,R1,R2,載體圖像I,嵌入數據S。
輸出:隱寫圖像I′。
1)取I的像素值x,從S中取出α+β位數據Sk,SkSk1Sk2,Sk1為α位,Sk2為β位。
2)根據密鑰得到兩個集合Kr,Kc。
3)根據Sk1Kri,Sk2Kcj得到i,j。
4)根據式(2)計算位置d。
5)生成x的像素集G,G中的元素為連續的2k個數值,其模值落在[0,2k-1]內,且互不相同。從像素集G中查找模為d′d-1的元素,此元素即為x′。
載體像素x的像素集為group(x+1),像素集的生成如下:
c2k,kα+β
①if x+1∈[1,c/2+1]
for j1:c
group(x+1,j)j-1
②if x+1∈[c/2+2,256-(c/2-1)]
for j1:c
group(x+1,j)x-c/2+j-1
③if x+1∈[256-(c/2-2),256]
base256-(c/2-1)
for j1:c
group(x+1,j)group(base,j)
6)重復步驟1)~5)直到所有數據嵌入完畢。
2.2 數據提取過程
輸入:密鑰α,β,R1,R2,隱寫圖像I′;
輸出:秘密數據S。
1)掃描隱寫圖像I′,得到像素值x′;
2)根據Hr(R1,α)和Hc(R2,β)分別得到兩個集合Kr,Kc;
3)利用公式d′x′ mod n得到模值d′;
4)從KrKc中取位置為dd′+1的元素,此元素即為秘密數據Sk。
5)重復步驟1)~4)直到所有數據提取完畢。
利用上述方法,對于給定的條件:R112,R29,α2,β2,x116與x279產生的像素集如圖2所示,方格內的數據表示像素,方格下方的數據表示對應像素的模值。根據Hr(12,2)和Hc(9,2)得出Kr{11,01,00,10},Kc{00,11,10,01}。當嵌入數據為‘0101 1100’時,原方法得到x1′23,x2′64,而改進方法得到x1′23,x2′80。由此可以看出,改進方法的像素改變值要小于等于原方法的像素改變值。
圖2 改進方法得出的像素集
提取數據時,改進方法與原方法是相同的。根據Hr (12,2)和Hc(9,2)得出Kr{11,01,00,10},Kc{00,11,10,01}。隱寫圖像像素值分別為x1′23,x2′80,計算得到d′的值分別為7、0,從KrKc中查找位置為dd′+1的元素,即位置分別為8、1的元素,可得到秘密數據:0101 1100。
3 實驗仿真
考查一個隱藏方案的優劣一般有四個標準,分別為嵌入容量、算法復雜度、視覺不可見性和安全性[1]。改進方法與原方法相比,在保持相同嵌入量和算法復雜度下,進一步提高了視覺不可見性和安全性。為了分析改進方法的特性,選取多幅圖像進行實驗,實驗工具為Matlab。下面從視覺不可見性和安全性方面對兩種方法進行對比分析。
3.1 視覺不可見性
隱寫方法中一般用峰值信噪比(Peak Signal-to-Noise Ratio,PSNR)來衡量隱秘圖像質量的視覺不可見性[1]。隱秘圖像的PSNR值越高,視覺不可見性越好;反之越差。用原方法與改進方法分別對灰度圖像Baboon.bmp、Lena.bmp、Elain.bmp進行數據嵌入,嵌入數據后圖像的PSNR比較結果如表3所示。
PSNR10 lg(4)
MSE∑Mi1∑Nj1(xij-xij′)2(5)
其中,255是8位灰度圖像像素的最大值,均方誤差(Mean Square Error,MSE)是計算M×N的載體圖像I與隱寫圖像I′的平均方差,xij和xij′分別表示I與I′的像素值。
表3 原方法與改進方法得到的PSNR值的對比
以Lena.bmp為載體圖像嵌入數據,每個像素嵌入4位二進制數據,原方法和改進方法得出的圖像如圖3所示。從圖中可以看出原方法得到的隱寫圖像質量較差,而用改進方法嵌入相同數據后的圖像質量有明顯改善,不容易引起攻擊者的注意。
圖3 兩種方法隱寫圖像對比
3.2 安全性
RS(Regular Singular)檢測方法是由Jessica Fridrich等人提出的一種隱寫分析法[10],具有較高的可靠性和靈敏度。RS分析首先將待檢測圖像分為很多大小相等的圖像塊,再對每個小圖像塊進行F1操作(F1為2i與2i+1之間的互翻轉操作),然后利用式(6)計算其混亂度是否增加,并計算混亂度增加的圖像塊和混亂度減小的塊在所有圖像塊中所占比例,分別記為Rm,Sm;然后應用F-1操作(F-1為2i-1與2i之間的互翻轉操作),在每個圖像塊中進行類似的處理,也記下混亂度增加和減小的圖像塊在所有圖像塊中所占比例,分別為R-m,S-m。如果待檢測圖像沒有經過隱寫,那么無論應用F1操作還是F-1操作,從統計特性上來說,會同等地增加圖像塊的混亂度,即Rm≈R-m,Sm≈S-m,且Rm>Sm,R-m>S-m。
f(X)∑|X-X1|+∑|X-X2|(6)
其中,X是圖像塊的灰度值矩陣,X1表示將X左移一列, X2表示將X下移一行,f(X)表示相鄰像素灰度差值的絕對值總和。用RS分析法分別對文獻[1]中的方法和改進后的方法進行分析,如圖4、5所示。
圖4 RS分析法對文獻[1]方法的實驗結果
圖5 RS分析法對改進方法的實驗結果
從圖4與圖5可以看出,原方法得出的Rm與R-m,Sm與S-m的差值相差很大,而改進后的Rm與R-m,Sm與S-m的差值相差比較小,因此安全性有所提高。
4 結語
本文對文獻[1]所提出的方法進行了改進,數據嵌入方法不同,數據提取方法是相同的。如果每個像素嵌入n(n∈{2,3,4})位數據,對于8位的灰度圖像,原方法中對于所有pixel∈[0,255]的像素,其改變范圍為[0,2n-1];而改進的方法對于pixel∈[0,2n-1-2]∪[255-(2n-1-2),255]的像素,改變范圍為[0,2n-1],其余像素與原方法相同,改變范圍為[0,2n-1]。實驗證明,改進后的方法在保持相同嵌入量的同時,隱秘圖像的視覺不可見性和安全性都有所提高。
參考文獻:
[1] LEE C F, CHEN H L. A novel data hiding scheme based on modulus function[J]. The Journal of Systems and Software, 2010, 83(5): 832-843.
[2] 許歡, 王建軍. 利用分塊像素差和模函數的大容量信息隱藏方法[J]. 信息與電子工程,2009, 7(3): 218-221.
[3] CHAN C K, CHENG L M. Hiding data in images by simple LSB substitution[J]. Pattern Recognition, 2004, 37(3): 469-474.
[4] MIELIKAINEN J. LSB matching revisited[J]. IEEE Signal Processing Letters, 2006, 13(5): 285-287.
[5] WU D C, TSAI W H. A steganographic method for images by pixel-value differencing[J]. Pattern Recognition Letters, 2003, 24(9/10):1613-1626.
[6] WU H C, WUN I,TSAI C S,et al. Image steganographic scheme based on pixel-value differencing and LSB replacement methods[J]. IEE Proceeding――Vision Image and Signal Processing, 2005, 152(7): 611-615.
[7] WANG C M,WU N I, TSAI C S,et al. A high quality steganographic method with pixel-value differencing and modulus function[J]. Journal of Systems and Software, 2008, 81(1): 150-158.
[8] ZHANG X P, WANG S Z. Efficient steganographic embedding by exploiting modification direction [J].IEEE Communication Letters, 2006, 10(11): 781-783.
篇9
關鍵詞:《文選樓藏書記》;分類特點;原因探微
中圖分類號: K203 文獻標識碼:A 文章編號:1005-5312(2012)06-0083-02
《四庫全書》塵埃落定,分儲七閣之后,以續補四庫未收書為職志者,首推阮元。阮元生于乾嘉學風殷盛之際,其進身較晚,未及親自參與編纂《四庫》,但其一生與四庫淵源甚重。然而,反映阮元文選樓藏書情況的《文選樓藏書記》卻并未按四庫分類法編排。《文選樓藏書記》在分類體系上,既吸收借鑒了前代目錄的編目傳統,也有自己的創新。下面就其編目特點及其成因試做分析。
一、整體上以卷次為單位進行編排,每卷大體上又按經史子集編目
《文選樓藏書記》六卷,共著錄圖書2663種。其著錄體例為:在每種書目下依次記錄書名、卷數或冊數、著者及籍貫、版本,除別集外,每書均附有精當、簡短的提要。該書不標類目,卷一、二、五、六,每卷自經部至集部分類排列,卷三、卷四兩卷相連,亦自經部至集部分類排列。這種以卷次為單位,每卷內部依經、史、子、集編次的編排方式,很有可能是阮元根據私家藏書自身的特點,并在繼承四部分類方法的基礎上形成的。以卷一為例:
卷一經部共有易類、書類、詩類、小學類、春秋類、四書類、經總義類、樂類八類,130種。其中易類雜錄子部術數類2種;春秋類中雜錄史部1種,子部1種;四書類中雜錄經部?禮記類4種,經部?孝經類1種,子部1種;經總義中雜錄經部?小學類1種,經部?禮類1種,經部?四書類1種,史部1種,子部3種;小學類中雜錄集部2種。史部152種,其中雜錄子部2種,集部4種。子部70種,其中雜錄經部1種,史部11種,集部10種。集部包括總集、別集、詞曲類三類,其中,總集類39種,雜錄子部四種;別集類73種,雜錄史部1種,集部2種;詞曲類10種,其中雜錄集部?總集類1種。在經部、史部、子部、集部之后,又著錄子部65種,包括術數類、天算類、道家類、雜家類四類。卷一實收經部120種,史部160種,子部126種,集部133種。
《文選樓藏書記》每卷收錄書籍數量統計如表1:
由此可以看出,《文選樓藏書記》每一卷著錄書籍數量的多寡是不一的,有些甚至相差比較懸殊。如卷五收入書籍303種,而卷六則總共收入了626種,是卷五的二倍之多。且每一卷內部經、史、子、集錄入的數量也是多寡不一的。如卷一收入了經部書籍120種,卷六則僅僅收入了24種。卷六收入集部書籍381種,卷五則只收入了11種。而且卷次內部經、史、子、集四部的比重也是不同的。
二、每卷內部部次分類不夠嚴密
阮元長于經學,《文選樓藏書記》中也收入了大量的經部書籍,經部的分類,大體尚整齊,但細究也有若干問題。如將經部?小學類的《讀易韻考》,史部?目錄類的《易傳辨異》,子部?儒家類的《太極圖說》等同歸入經部易類;將經部?小學類《毛詩古音考》,子部?術數類的《洪圖解》,子部?雜家類的《多識編》等同歸入經部?詩類;這些混亂之處有的是經部著作內部之間的分類不是很清晰,比如《讀易韻考》,其內容是“列證經史,詳論《易》韻”,理應歸入經部?小學類,但卻誤入經部?易類。有的是史部、子部、集部的著作誤入經部,比如《孔孟事跡圖譜》四卷,“是書詳載經、史事跡,并繪圖譜”應屬史部?傳記類,卻誤入經部?春秋類。
每一卷中收錄的經部書籍不僅數量多寡不一,并且其種類也有多有少,如卷一的經部共有易類、書類、詩類、小學類、春秋類、四書類、經總義類、樂類八類,而卷六經部書籍包括易類、詩類、春秋類、禮類、五經總義類、樂類6類。有的部類重復出現:如卷一重經部?小學類出現在詩類之后,但是樂類之后又著錄了經部?小學類的書籍。部類的著錄順序也并非固定不變,如卷三、卷四禮類在春秋類之前,卷五中春秋類在禮類之前。
史部和子部的分類更加瑣細,如在卷一中史部載入的第一種書籍是史鈔類,第二種和第三種書籍是政書類,第四種書籍是編年類,第五種書籍史評類,第六種書籍又是政書類。每一種部類的分布都瑣碎、分散,沒有辦法像經部書籍那樣進行排序。子部書籍,如卷三、卷四中子部著錄的第一種書籍是雜家類,第二種書籍是譜錄類,第三種書籍是小說家類,第四種、第五種書籍又屬于雜家類?!段倪x樓藏書記》中集部分類尚屬整齊,但每一卷收入數量的多寡不一,種類也不完全相同。
三、原因探究
阮元一生治學及其嚴謹,著述多慎重其事,書前或交待原委,或撰述要旨。但《文選樓藏書記》不僅未見序跋,文集中亦未見提及。由此推知,《文選樓藏書記》并非阮元某一時日完編之定本,乃其私家藏書登記薄,自藏書之日始,隨藏隨錄,隨錄隨編,著錄簡單且無嚴格體例。
而其以卷次為單位,每卷內部依經、史、子、集編次的編排方式,是阮元根據私家藏書自身的特點,并在繼承四部分類方法的基礎上形成的。雖然在阮元所作《揚州隋文選樓記》、《揚州隋文選樓銘》中并沒有記載確切的編目條例。我們不妨探究一下天一閣書目、焦山書藏和靈隱書藏編目中所體現的阮元的編目思想。
天一閣是我國現存最古老的私人藏書樓,阮元在整理天一閣藏書,研究天一閣歷史,推廣天一閣管理經驗等方面作出了重要貢獻。他在嘉慶十三年(1808年)寫的《寧波范氏天一閣書目序》中說道:“余自督學至今,數至閣中,翻所藏書,其金石榻本當錢辛楣先生修《鄞縣志》時即編之目,惜書目未編。余于嘉慶八、九年間命范氏后人登閣,分廚寫編之,成目錄十一卷。
然而在《雷塘庵主弟子記》卻有這樣的記載:“嘉慶二年(1796年),首次登天一閣觀書;嘉慶二年(1797年),再登天一閣,命范氏子弟編錄《天一閣書目》”。即在嘉慶二年,阮元已命范氏后人編錄《天一閣書目》,與一記載與阮元在《寧波范氏天一閣書目序》中所說的“嘉慶八、九年間”相差六、七年。其實,在嘉慶二年阮元第二次登天一閣觀書后,范氏后人就在阮元的督促下于嘉慶九年編定了《四明天一閣藏書目錄》:該目無序跋,卷首錄全祖望《天一閣碑目記》和《天一閣藏書記》,不分類,分廚錄目,每行上下記兩種書名與冊數,各廚以千字文編號,共三十二廚。據藏字廚目后注,尚有醫書、地理、算命、風鑒等俱未列目。登科錄、會試錄、鄉試錄亦未編入。卷末有“嘉慶壬戌歲六月二十日客寓金昌錄”二行十五字,其“不分類,分廚錄目”恰好體現了阮元“分廚編寫之”的編目理念。
嘉慶十四年(1809年),阮元第二次任浙江巡撫時,于杭州靈隱寺大悲閣后造置木廚,構建藏書處,以嘉惠士林。并撰《杭州靈隱書藏》及《書藏條例》。嘉慶十八年(1813年),于鎮江焦山立焦山書藏,又撰《焦山書藏記》及《書藏條例》。書入藏后,按入藏“次第”“分號”排列,靈隱書藏以唐人宋之問《靈隱寺》詩(鷲嶺郁龍宮鎖寂寥樓觀滄海日門對浙江潮桂子月中落天香云外飄捫蘿登塔遠刳木取泉遙霜薄花更發冰輕葉未凋夙齡尚遐異搜對滌煩囂待入天臺路看余度石橋)字編號,焦山書藏以《瘞鶴銘》編號,初以“相此胎禽華表留唯髻鬢事亦亦微厥士惟寧后蕩洪流前固重爽愷勢拚亭亭愛集真侶作銘”三十五字為三十五櫥,如滿,則再加“歲得于化朱方天其未遂吾翔翔也酒裹以元黃之幣藏乎山下仙家石族篆篆不朽詞曰徽君丹楊外尉江陰宰”四十二字為四十二櫥。書不分部,惟以次第分號,收滿“相”字號櫥,再收“此”字號櫥??梢?,書藏藏書雖以編號排列,但登記目錄內仍分四部。
焦山書藏創立后,阮元曾指示海西庵山僧編成《焦山書藏目錄)12卷,按照捐書的先后順序,著錄古籍1400余種,25000多卷,10000余冊。圖書入藏時即以書櫥為單位,按入藏次第分號編排,那么書籍在編目時依照捐書的先后順序輯錄,也就是以書櫥為單位輯錄。而書櫥內部又是以經、史、子、集為次序排列。阮元所編《焦山書藏目錄》雖已亡佚,但依據相關資料可以知道其體現了阮元一貫的“按廚編目”的理念。
阮元一生與《四庫》淵源頗重,因而對這些分類體系應該比較了解,但反映其藏書情況的《文選樓藏書記》并沒有完全沿用這些分類方式,筆者推斷原因有二:其一是《文選樓藏書記》是阮元的私人藏書簿錄,以卷為單位編次,方便藏書隨錄隨藏,隨錄隨編。而卷內部按經、史、子、集的順序編錄,既有利于辯章學術,因類求書,也和文選樓書藏方式有關。雖然并無直接的文字記載,但是我們從阮元與天一閣藏書樓的關系和其建立的靈隱書藏和焦山書藏的書藏方式及編目方式可以窺見阮元一脈相承的編目思想,可以推想阮元的文選樓藏書也極有可能是按照藏書的先后順序,分廚錄入,廚內部書籍又按照經、史、子、集排序。因此形成了《文選樓藏書記》以篇卷為單位進行編次的編排方式。其二是與阮元“以學術為天下之公器”的精神相契合。文選樓是阮元藏書、校書、讀書、刻書等學術活動的重要場所,與范氏天一閣“嚴禁登樓”的禁例不同,文選樓是阮元授徒會友的常用之處。阮元弟子張鑒《訪書圖歌為何夢華索賦》有云:“憶昔渡江至揚州,吾師招住文選樓。連床照軫那可說,手胝口沫無時休?!比屎蛧澜?,亦曾在文選樓讀書數年。嘉慶十五年,陳文述參考阮書,推廣前說,博采輿論,撰《海運議》?!独滋菱种鞯茏佑洝分杏涊d:“嘉慶十一年(1806),‘阮元置儀征縣江中蘆洲一區以為祀產’‘以歲入之息為祭祀、睦族、公車等事之用’‘以余者為文選樓諸子讀書等事之用’”以祀產的收入資助文選樓諸子讀書”,不僅體現了阮元以傳播學術為己任的大公精神,也體現了阮元對文選樓開放的管理理念。阮元不僅是位收藏家,更是一位杰出的學者。他把藏書與治學緊緊地聯系在一起,不是為了收藏而收藏,藏書的目的是為了校書、讀書。分卷編目,不僅使藏書有序,而且歷歷在目,方便師友生徒因目求書。
參考文獻:
篇10
關鍵詞:監管報表;大數據;數據倉庫;數據模型
中圖分類號:TP392文獻標識碼:A文章編號:16727800(2013)004013705
0引言
面對當前錯綜復雜、各種因素相互交織、相互演變的國內外經濟金融發展形勢,商業銀行進行戰略轉型、業務規劃、風險管控需要依靠完備、持續性的數據體系才能進行科學決策,數據質量已成為銀行可持續性發展的生命線。中國銀監會在2011年下發了《銀行監管統計數據質量管理良好標準》\[1\],督促各銀行進一步提高監管統計數據質量,夯實監管基礎,建立適應監管統計工作需要的、完善的監管統計系統。
隨著監管部門對商業銀行的監管要求不斷提高,報表越來越多、數據內容越來越細、審核越來越嚴格,如銀監會在2010年創立“腕骨”(CARPALs)監管指標體系,其中的資本充足率、流動性覆蓋率、凈穩定融資比例等指標,不僅需要專業解析,還涉及壓力場景設置和對未來的判斷,加工規則非常復雜。這些數據無法像以往一樣依靠手工填報,或簡單逐級匯總得來,必須采用全行監管數據大集中的模式統一加工生成,否則就違背了指標的內在業務邏輯,其結果也必然經不起監管檢查。
數據倉庫是一個面向主題的、集成的、非易失的、隨時間變化的用來支持管理人員決策的數據集合\[2\]。它為有效地支持企業經營管理決策提供了全局一致的數據環境,也為歷史數據綜合數據的處理提出了一種行之有效的解決方法。數據倉庫的興起,使其成為了當前普遍流行的決策支持系統解決方案。它應用于決策支持系統中,能夠增強決策的客觀性和實用性、提高數據查詢分析的效率、具有強大的數據分析工具、具有動態擴展能力。許多學者對基于數據倉庫的信息系統建設進行了研究。文獻\[3\]\[4\]討論了數據倉庫在銀行績效考核領域的應用,實現對全行考核對象的全面科學考核;文獻\[5\]研究了銀行數據倉庫系統及非現場稽核監控平臺和監控后分析的實現方式;文獻\[6\]\[7\]\[8\]開展了數據倉庫在銀行個人信貸、銀行卡、中間業務等不同業務領域中的應用研究。
這些研究雖然對數據倉庫的應用進行了探討,都沒有討論如何在銀行信息披露領域應用,提出構建銀行監管報表系統的完整解決方案。本文結合監管數據大集中模式的特點,不僅給出了全面的系統架構方案,還探討了數據模型及關鍵技術,并測試驗證了系統具備良好的可行性、可用性和可靠性,為銀行落實數據標準、保證數據質量、固化管理流程提供了重要的科技支撐。
1問題描述與系統架構
1.1問題描述
為適應新形勢下監管報送的工作要求,在監管數據大集中模式下建設監管報表系統,滿足監管報表的時效性、準確性等要求,面臨著架構、數據、功能等多個層面的巨大挑戰。在架構層面,系統具有數據存儲量大(年增量達數十TB),數據加工任務繁重(數十億條記錄的加工)、處理時間有限(8h內完成)等特點。因此,架構設計需要考慮如何實現性能的提升,如何保證系統的安全可靠。在數據層面,由于數據自動加工率是衡量報表質量狀況(完整、準確、一致)的重要指標,為提高監管報表自動化加工水平,需要考慮如何實現更全面的數據采集能力,更有效的數據清洗方法,更科學的數據模型設計,更準確的數據質量監測分析;在功能層面,為實現監管報表的統一開發、統一運行、統一展現、集中管理,需要提供完善的報表設計、生成、展現、管理功能,特別是要滿足全國所有支行、分行、總行用戶在月初2h內完成數十張報表的補錄工作,支持用戶高并發場景,實現監管報表的按時報送。
因此,銀行監管報表系統的建設,既需要考慮功能性需求,實現各項業務功能,又需要數據需求,靈活響應監管報表需求,更需要關注非功能性需求,保證系統的高可用性、可靠性及可擴展性。
1.2系統架構
1.2.1邏輯架構
銀行監管報表系統的邏輯架構如圖1所示。整個架構由3部分組成:源系統、數據倉庫和監管報表系統。其中,源系統是數據倉庫的數據來源,包括銀行的各類業務源系統;數據倉庫是監管報表系統的基礎,全面采集銀行的業務源數據,進行數據的集中加工處理、存儲,形成全行級的統一數據視圖,通過建立監管數據集市,支持系統進行數據查詢、分析、監測等;監管報表系統則為滿足外部監管報送的具體需求,提供了報表配置、報表填報、報表查詢、報表生成、報表組裝、監測預警及系統管理等功能。
1.2.2數據架構
為了建立全行統一的監管統計數據架構,實現客戶、機構、賬戶等基礎信息的口徑一致,以及不同主題業務應用的數據共享,同時可靈活定制指標以應對報表需求變化,銀行監管報表系統數據架構如圖2所示。
(1)操作數據層:對于加載的源系統文件進行簡單的清洗處理,盡量保持業務數據原貌,保留源系統的原始和歷史數據,基本上直接按照源系統數據結構建模。
(2)基礎數據層:基于第三范式規范,按客戶、產品等主題進行數據建模,形成企業級的統一數據視圖。
(3)匯總數據層:對來自操作數據層和基礎數據層的基礎明細數據進行預關聯、預計算、預匯總,形成數據元模型,同時提煉不同應用的共性需求,形成標準統一、口徑一致、可復用的基礎指標。
(4)數據集市層:面向具體應用需求,按需進行模型設計,形成應用指標模型。
(5)報表數據層:針對不同的報表需求,解析報表維度、度量及包含的指標項,形成報表數據模型。
1.2.3物理架構
銀行監管報表系統物理架構如圖3所示。其中,數據倉庫的組成主要包括ETL服務器、數據倉庫處理服務器、備份服務器與磁帶庫、數據管控服務器和調度服務器;監管報表系統自身包括數據庫服務器、Web應用服務器集群和負載均衡設備。在此架構方案中,充分考慮系統的高可用性,監管報表系統與數據倉庫所使用的數據庫服務器互相獨立,由此保證二者在加工處理時不會相互影響。各數據庫服務器均采取雙機熱備份機制,Web應用服務器采取集群架構,確保系統穩定運行,關鍵數據不丟失。為應對全行用戶高并發訪問的壓力,使用負載均衡設備,將用戶訪問壓力均勻分配到每臺應用服務器上,提高系統整體并發能力及平均響應時間。此外,在可擴展性方面,可以通過增加系統的CPU、內存提升處理能力,通過增加服務節點擴充Web應用服務器集群架構。
2數據倉庫及報表數據模型
2.1多維數據模型
數據倉庫的數據主要有兩種組織方式:一是基于關系數據庫的維表-事實表結構的多維表形式;另外一種是基于多維數據庫的超立方體結構形式\[9\]。考慮數據處理的性能及數據集成的方便,這里采用維表-事實表結構來實現多維數據模型。多維數據模型由事實表和維表組成\[10\],事實表存儲實際的數據,維表存儲事實表中對象的屬性,事實表和維表的關聯關系,呈星型結構。一個多維數據模型的事實表數據是經過機構、幣種等維度匯總之后的標準數據,具有通用性。而維度通常分為固定維度和自定義維度,時間、機構和幣種是固定維度,其它如貸款分類等維度是自定義維度。在數據倉庫中,數據是面向主題進行組織的。主題是在較高層次上將企業信息源中的數據綜合、歸類并分析利用的抽象。在監管報表系統中,共建立了總賬類、存款類、貸款類、流動性風險類、假幣類、支付結算類、最大類等七大類業務主題的多維數據模型。以貸款余額為例,其多維數據模型如圖4所示。
2.2監管報表數據模型
銀監會、人民銀行、外匯管理局等監管部門的報表需求各異、表樣不一,例如按展現方式可分為行列固定報表、行固定列不固定報表、列固定行不固定報表等。對于這些紛繁復雜的報表需求,通過建立報表數據模型,對報表進行層層解析,從而明確報表含義、加工規劃及數據來源,最終完成報表的加工實現。
在報表數據建模過程中,報表可視為由一個個應用指標組成。應用指標一般是指對一類統計對象,按照一定維度進行分類之后的計算加工結果。在指標定義過程中,業務人員可以根據業務相似或應用相同數據字典等因素,選擇報表表樣填報區中的一項、一列、一行,或者一個矩形框范圍內的所有項定義為一個指標,該指標是用戶想最終應用的數據,即應用指標。典型的監管報表數據模型如圖5所示。
在明確應用指標后,可以進一步進行應用指標解析。每個應用指標由基本指標和基本維度組合而成,基本指標是最小的業務含義度量單位,不包含信息的類別、類型、狀態、標識、分層等性質的描述性語言,例如貸款余額。基本維度是最小的業務加工和匯總規則,例如風險分類、資產類別等。
通過對報表及應用指標的解析,可以獲得應用指標的編號、名稱、定義等基本屬性,以及應用指標所包含的基本指標、基礎維度在銀行信息系統中所對應的信息項(字段)及信息項取值規則,最終完成報表的加工實現。報表數據建模流程如圖6所示。
3系統關鍵技術
3.1智能化公式解析引擎
監管報表中普遍存在勾稽關系。所謂勾稽關系,是指某個報表和另一報表之間以及本報表項目的內在邏輯對應關系,一般通過設置報表公式來體現。由于監管報表規則的復雜性,公式類型十分繁多,可分為計算公式、校驗公式、預警公式,還可分為行公式、列公式、單元格公式、要素公式等。為此,通過體系化地提煉不同公式的語法規則,構建了監管報表公式體系。公式體系由標識符、運算符和函數庫組成。例如,公式C1=C2~C4,其中,C是列標識符,“=”是運算符,“~”是連加函數,該公式表示將報表的第2、3、4列分別匯總后相加并賦值到第1列。對用戶定義的公式,利用詞法分析器Lex、語法解析器Yacc等技術開發了智能化公式解析引擎,可實現對公式的詞法、語法、語義的自動化分析,并最終生成數據庫可執行的SQL代碼。例如,公式C1=C2~C4,經解析之后得到的數據庫SQL語句為:UPDATE目標表SET列1=SUM(列2)+SUM(列3)+SUM(列4)。在此過程中,整個報表的加工處理實現了自動化、無人工干預,從而也提高了報表數據的準確性。圖7所示是公式解析引擎技術架構。
公式引擎主要由4部分組成:①詞法分析:主要負責接收用戶輸入的公式字符串,通過定義正則表達式的切分規則,將公式拆解成若干個子token,通過Lex和Yacc的接口共用體,將詞法分析的結果返回給語法分析器,再做進一步的語法解析;②語法分析:主要負責接收詞法分析處理之后的token標識符,通過定義語法的歸約移入規則,完成公式的語法檢查,最終為語義分析程序生成語法分析樹;③語義分析:主要負責接收語法分析以及性能優化之后的語法分析樹,自頂向下遞歸地遍歷整棵語法分析樹,獲取各分支節點以及葉子節點的信息,形成存儲語義信息的結構體,語義信息結構體中包含了拼接SQL語句中各組成部分的基本信息;④目標代碼生成:主要是以語義分析階段的語義信息結構體作為輸入,生成最終數據庫中可以執行的SQL語句。
3.2主從式報表填報模式
根據監管部門要求,每月月初會集中開展監管報表報送工作。因此,月初報表手工填報和報表展現查詢的用戶數量龐大,要求系統能夠在用戶高并發訪問時,仍然保證所有功能均能流暢、正常使用。面對全行用戶集中填報的壓力,系統采用了基于C/S的主從式報表分布式處理方案,利用ActiveX控件技術及輕量級嵌入式數據庫SQLite,開發了一個可安裝于客戶端瀏覽器的報表填報插件。通過該插件,可以將監管報表系統數據庫服務器(主數據庫)中已加工完成的報表鋪底數據下載到用戶主機,用戶在鋪底數據的基礎上開展報表補錄、調整等操作,之后利用用戶本地的數據庫資源(從屬數據庫)完成補錄調整數據的計算、校驗、折算等功能。Web應用服務器主要提供版本驗證、報表信息下載、文件上傳等服務。該方案減少了用戶客戶端與應用服務器、應用服務器與數據庫服務器之間的數據交互,極大減輕了數據庫服務器的資源消耗,提高了用戶補錄的效率。圖8所示是報表填報插件技術框架。
3.3動態化作業調度管理
在監管報表數據加工過程中,為提高報表處理性能,縮短報表加工時間,通過對報表數據的依賴關系分析,即以公式為處理單元,利用公式拆分、字符串匹配、去重等方法確定公式之間報表之間的依賴關系,再采用層次化拓撲排序算法,構建公式的依賴關系圖,自適應地調整公式計算順序,實現動態化作業調度管理。該模式下,系統能夠自動判斷作業之間的依賴關系,并行執行公式計算任務,改變了以往公式只能串行計算、很多公式都在盲目等待的模式,極大提高了作業鏈的處理效率以及資源利用率,使報表總加工時間縮短了約1/3,為后續的報表填報工作爭取了更多寶貴的時間。圖9示意了以9個公式為例子的公式計算在串行及并行計算模式下的時間對比情況。
4系統實證分析
為驗證系統性能,采取實驗模擬實際業務處理情況的方法,選取交易量最大、最集中的高峰時間段支行填報場景進行測試。具體測試場景為:模擬系統訪問總用戶數為10 000人,用戶數總并發為500人,在1h內完成登陸、報表填報、報表查詢、報表匯總等所有交易。測試采用專業負載測試工具LoadRunner,測試環境包括4臺PC服務器作為Web應用服務器集群、1臺小型機作為數據庫服務器。測試結果如圖10所示,該圖記錄了支行填報場景下系統各交易的TPS(Transaction Per Second)。從圖10中可看出,所有的交易跑完用時55min左右,符合業務提出的在1h之內完成所有支行填報交易的性能要求。在約20min左右,一部分交易的TPS降下來,經分析系統處理沒有出現異常,是有些處理速度快的交易先完成所致。
為驗證系統的穩定性,仍然選取高峰時間段支行填報場景進行測試:系統持續運行8h。測試結果如圖11所示。從圖中可以看出在系統持續運行期間,各業務TPS曲線波動不大,TPS數值比較穩定,系統運行8h期間無宕機和內存泄露等現象。
5結語
監管報表內容廣泛,涵蓋財務、會計、風險等銀行經營管理
各方面信息,需要及時、準確、真實地報送給外部監管單位。 本文提出了基于數據倉庫技術的銀行監管報表系統,通過合理的架構設計、科學的數據建模,實現對監管數據的集中存儲、加工,以及監管報表的生成、組裝、審核、報送。實驗結果表明,該系統能夠有效滿足新形勢下的業務發展需求,對于促進銀行監管報送和數據集約化管理水平的提升,搭建數據統籌管理和決策支持服務的長效機制框架具有十分重要的意義。
參考文獻:
\[1\]中國銀監會.銀行監管統計數據質量管理良好標準\[EB/OL\].,2012.
\[2\]William H. 數據倉庫 \[M\].第4版.王志海,等,譯.北京:機械工業出版社,2006.
\[3\]仇煥之.基于數據倉庫的銀行績效考核系統的研究及應用\[D\].廣州:中山大學,2010.
\[4\]姜亦忠.基于數據倉庫的銀行績效考核系統\[D\].大連:大連海事大學,2009.
\[5\]余寶娟,潘維民,趙峻嶺,等.基于數據倉庫的銀行非現場稽核監控系統設計與實現\[J\].計算機與現代化,2006(8).
\[6\]宋培鐘,陸敬筠.基于數據倉庫的銀行個人信貸系統的分析與設計\[J\].金融理論與實踐,2011(1).
\[7\]熊齊,潘梅森.基于數據倉庫的銀行卡統計系統\[J\].微計算機信息,2006(12).
\[8\]李佳航.基于數據倉庫的銀行中間業務系統研究\[D\].廈門:廈門大學,2008.