對于在兩個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)間的某一次通信鏈路,鏈路加密能為網(wǎng)上傳輸?shù)臄?shù)據(jù)提供安全保證。對于鏈路加密(又稱在線加密),所有消息在被傳輸之前進(jìn)行加密,在每一個(gè)節(jié)點(diǎn)對接收到的消息進(jìn)行解密,然后先使用下一個(gè)鏈路的密鑰對消息進(jìn)行加密,再進(jìn)行傳輸。在到達(dá)目的地之前,一條消息可能要經(jīng)過許多通信鏈路的傳輸。
由于在每一個(gè)中間傳輸節(jié)點(diǎn)消息均被解密后重新進(jìn)行加密,因此,包括路由信息在內(nèi)的鏈路上的所有數(shù)據(jù)均以密文形式出現(xiàn)。這樣,鏈路加密就掩蓋了被傳輸消息的源點(diǎn)與終點(diǎn)。由于填充技術(shù)的使用以及填充字符在不需要傳輸數(shù)據(jù)的情況下就可以進(jìn)行加密,這使得消息的頻率和長度特性得以掩蓋,從而可以防止對通信業(yè)務(wù)進(jìn)行分析。
盡管鏈路加密在計(jì)算機(jī)網(wǎng)絡(luò)環(huán)境中使用得相當(dāng)普遍,但它并非沒有問題。鏈路加密通常用在點(diǎn)對點(diǎn)的同步或異步線路上,它要求先對在鏈路兩端的加密設(shè)備進(jìn)行同步,然后使用一種鏈模式對鏈路上傳輸?shù)臄?shù)據(jù)進(jìn)行加密。這就給網(wǎng)絡(luò)的性能和可管理性帶來了副作用。
透明加密技術(shù)是與Windows緊密結(jié)合的一種技術(shù),它工作于Windows的底層。通過監(jiān)控應(yīng)用程序?qū)ξ募牟僮?,在打開文件時(shí)自動(dòng)對密文進(jìn)行解密,在寫文件時(shí)自動(dòng)將內(nèi)存中的明文加密寫入存儲介質(zhì)。從而保證存儲介質(zhì)上的文件始終處于加密狀態(tài)。
監(jiān)控Windows打開(讀)、保存(寫)可以在Windows操作文件的幾個(gè)層面上進(jìn)行?,F(xiàn)有的32位CPU定義了4種(0~3)特權(quán)級別,或稱環(huán)(ring),如右圖所示。其中0級為特權(quán)級,3級是最低級(用戶級)。運(yùn)行在0級的代碼又稱內(nèi)核模式,3級的為用戶模式。常用的應(yīng)用程序都是運(yùn)行在用戶模式下,用戶級程序無權(quán)直接訪問內(nèi)核級的對象,需要通過API函數(shù)來訪問內(nèi)核級的代碼,從而達(dá)到最終操作存儲在各種介質(zhì)上文件的目的。為了實(shí)現(xiàn)透明加密的目的,透明加密技術(shù)必須在程序讀寫文件時(shí)改變程序的讀寫方式。使密文在讀入內(nèi)存時(shí)程序能夠識別,而在保存時(shí)又要將明文轉(zhuǎn)換成密文。Window允許編程者在內(nèi)核級和用戶級對文件的讀寫進(jìn)行操作。內(nèi)核級提供了虛擬驅(qū)動(dòng)的方式,用戶級提供Hook API的方式。因此,透明加密技術(shù)也分為API HOOK廣度和WDM(Windows Driver Model)內(nèi)核設(shè)備驅(qū)動(dòng)方式兩種技術(shù)。API HOOK俗稱鉤子技術(shù),WDM俗稱驅(qū)動(dòng)技術(shù)。
同態(tài)加密思想從提出到現(xiàn)在,在具體實(shí)現(xiàn)方案方面,經(jīng)歷了3個(gè)重要時(shí)期:1978—1999年是部分同態(tài)加密的繁榮發(fā)展時(shí)期;1996—2009年是部分同態(tài)加密與淺同態(tài)加密的交織發(fā)展時(shí)期,也是淺同態(tài)加密方案的繁榮發(fā)展時(shí)期;2009年以后是全同態(tài)加密的繁榮發(fā)展時(shí)期。下面將以時(shí)間為主線,按照同態(tài)加密方案的類型介紹同態(tài)加密的發(fā)展。
部分同態(tài)加密方案按照明文空間上能實(shí)現(xiàn)的代數(shù)或算術(shù)運(yùn)算分為乘法同態(tài)、加同態(tài)和異或同態(tài)3種類型。下面從幾個(gè)著名的同態(tài)加密方案的優(yōu)缺點(diǎn)入手,總結(jié)一下乘法同態(tài)、加同態(tài)、或同態(tài)加密方案的特性。
(1)乘法同態(tài)加密方案。乘法同態(tài)加密方案的同態(tài)性表現(xiàn)為[m1×m2=D(E(m1)×E(m2))]。RSA [5]是最早的具有乘法同態(tài)性的加密方案,它是基于因子分解困難問題的,屬于確定性加密,不能抵御選擇明文攻擊;1985年,ElGamal [3]基于有限域上的離散對數(shù)困難假設(shè)設(shè)計(jì)了ElGamal加密算法,該加密方案同樣具有乘法同態(tài)性,并且滿足選擇明文不可區(qū)分(IND-CPA) 安全。
行程碼的工作原理、打開方式以及它和健康碼的區(qū)別有哪些,來一起了解下