隨著計算機聯網的逐步實現,計算機信息的保密問題顯得越來越重要。數據保密變換,或密碼技術,是對計算機信息進行保護的最實用和最可靠的方法,本文擬對信息加密技術作一簡要介紹。
一、信息加密概述
密碼學是一門古老而深奧的學科,它對一般人來說是莫生的,因為長期以來,它只在很少的范圍內,如軍事、外交、情報等部門使用。計算機密碼學是研究計算機信息加密、解密及其變換的科學,是數學和計算機的交義學科,也是一門新興的學科。隨著計算機網絡和計算機通訊技術的發展,計算機密碼學得到前所未有的重視並迅速普及和發展起來。在國外,它已成為計算機安全主要的研究方向,也是計算機安全課程教學中的主要內容。
密碼是實現秘密通訊的主要手段,是隱蔽語言、文字、圖象的特種符號。凡是用特種符號按照通訊雙方約定的方法把電文的原形隱蔽起來,不為第三者所識別的通訊方式稱為密碼通訊。在計算機通訊中,採用密碼技術將信息隱蔽起來,再將隱蔽的信息傳輸出去,使信息在傳輸過程中即使被竊取或載獲,竊取者也不能了解信息的內容,從而保証信息傳輸的安全。
任何一個加密系統至少包括下面四個組成部分:
(1)、未加密的報文,也稱明文。
(2)、加密的報文,也稱密文。
(3)、加密解密設備或算法。
(4)、加密解密的密鑰。
發送方用加密密鑰,通過加密設備或算法,將信息加密發送出去。接收方在收到密文,用解密密鑰將密文解密,恢復為明文。如果傳輸中有人竊取,他只能得到無法理解的密文,從而對信息起到保密作用。
二、密碼的分類
從不同的角度根據不同的標準,可以把密碼分成若幹類。
(一)按應用技術或歷史發展階段劃分:
1、手工密碼。以手工完成加密作業,或者以簡單器具輔助操作的密碼,叫作手工密碼。第一次世界大戰前主要是這種作業形式。
2、機械密碼。以機械密碼機或電動密碼機來完成加解密作業的密碼,叫作機械密碼。這種密碼從第一次世界大戰出現到第二次世界大戰中得到普遍應用。
3、電子機內亂密碼。通過電子電路,以嚴格的程序進行邏輯運算,以少量制亂元素生產大量的加密亂數,因為其制亂是在加解密過程中完成的而不需預先制作,所以稱為電子機內亂密碼。從五十年代末期出現到七十年代廣泛應用。
4、計算機密碼,是以計算機軟件編程進行算法加密為特點,適用計算機數據保護和網絡通訊等廣泛用途的密碼。
(二)按保密程度劃分:
1、理論上保密的密碼。不管獲取多少密文和有多大的計算能力,對明文始終不能得到唯一解的密碼,叫作理論上保密的密碼。也叫理論不可破的密碼。如客觀隨機一次一密的密碼就屬這種。
2、實際上保密的密碼。在理論上可破,但在現有客觀條件下,無法通過計算來確定唯一解的密碼,叫作實際上保密的密碼。
3、不保密的密碼。在獲取一定數量的密文可以得到唯一解的密碼,叫作不保密密碼。如早期單表代替密碼,來的多表代替密碼,以及明文加少量密鑰等密碼,現在都成為不保密的密碼。
(三)、按密鑰方式劃分:
1、對稱式密碼。收發雙方使用相同密鑰的密碼,叫作對稱式密碼。傳統的密碼都屬此類。
2、非對稱式密碼。收發雙方使用不同密鑰的密碼,叫作非對稱式密碼。如現代密碼中的公共密鑰密碼就屬此類。
(四)按明文形態:
1、模擬型密碼。用以加密模擬信息。如對動態范圍之內,連續變化的語音信號加密的密碼,叫作模擬式密碼。
2、數字型密碼。用加密數字信息。對兩個離散電平構成0、1二進制關系的電報信息加密的密碼叫作數字型密碼。
(五)按編制原理劃分:
可分為移位、代替和置換三種以及它們的組合形式。古今中外的密碼,不論其形態多繁雜,變化多巧妙,都是按照這三種基本原理編制出來的。移位、代替和置換這三種原理在密碼編制和使用中相互結合,靈活應用。
三、近代加密技術
(一)、數據加密標準
數據加密標準(DES)是美國經長時間征集和篩選,1977年由美國國家標準局頒布的一種加密算法。它主要用民用敏感信息的加密,來被國際標準化組織接受作為國際標準。DES主要採用替換和移位的方法加密。它用56位密鑰對64位二進制數據塊進行加密,每次加密可對64位的輸入數據進行16輪編碼,經一系列替換和移位,輸入的64位原始數據轉換成完全不同的64位輸出數據。DES算法僅使用最大為64位的標準算術和邏輯運算,運算速度快,密鑰生產容易,適合在當前大多數計算機上用軟件方法實現,同時也適合在專用芯片上實現。
DES主要的應用范圍有:
(1)計算機網絡通信:對計算機網絡通信中的數據提供保護是DES的一項重要應用。但這些被保護的數據一般只限民用敏感信息,即不在政府確定的保密范圍之內的信息。
(2)電子資金傳送系統:採用DES的方法加密電子資金傳送系統中的信息,可準確、快速地傳送數據,並可較好地解決信息安全的問題。
(3)保護用戶文件:用戶可自選密鑰對重要文件加密,防止未授權用戶竊密。
(4)用戶識別:DES還可用計算機用戶識別系統中。
DES是一種世界公認的較好的加密算法。自它問世20多年來,成為密碼界研究的重點,經受住了許多科學家的研究和破譯,在民用密碼領域得到了廣泛的應用。它曾為全球貿易、金融等非官方部門提供了可靠的通信安全保障。但是任何加密算法都不可能是十全十美的。它的缺點是密鑰太短(56位),影響了它的保密強度。此外,由DES算法完全公開,其安全性完全依賴對密鑰的保護,必須有可靠的信道來分發密鑰。如採用信使遞送密鑰等。因此,它不適合在網絡環境下單獨使用。
針對它密鑰短的問題,科學家又研制了80位的密鑰,以及在DES的基礎上採用三重DES和雙密鑰加密的方法。即用兩個56位的密鑰K1、K2,發送方用K1加密,K2解密,再使用K1加密。接收方則使用K1解密,K2加密,再使用K1解密,其效果相當將密鑰長度加倍。
(二)國際數據加密算法
國際數據加密算法IDEA是瑞士的名學者提出的。它在1990年正式公布並在以得到增強。這種算法是在DES算法的基礎上發展出來的,類似三重DES。發展IDEA也是因為感到DES具有密鑰太短等缺點,已經過時。IDEA的密鑰為128位,這長的密鑰在今若幹年內應該是安全的。
類似DES,IDEA算法也是一種數據塊加密算法,它設計了一系列加密輪次,每輪加密都使用從完整的加密密鑰中生成的一個子密鑰。與DES的不同處在,它採用軟件實現和採用硬件實現同樣快速。
由IDEA是在美國之外提出並發展起來的,避開了美國法律上對加密技術的諸多限制,因此,有關IDEA算法和實現技術的書籍都可以自由出版和交流,可極大地促進IDEA的發展和完善。但由該算法出現的時間不長,針對它的攻擊也還不多,還未經過較長時間的考驗。因此,尚不能判斷出它的優勢和缺陷。
(三)clipper加密芯片
密碼雖然可為私人提供信息保密服務,但是它首先是維護國家利益的工具。正是基這個出發點,考慮到DES算法公開帶來的種種問題,美國國家保密局(NSA)從1985年起開始著手制定新的商用數據加密標準,以取代DES。1990年開始試用,1993年正式使用,主要用通信交換系統中電話、傳真和計算機通信信息的安全保護。
新的數據加密標準完全改變了過去的政策,密碼算法不再公開,對用戶提供加密芯片(clipper)和硬件設備。新算法的安全性遠高DES,其密鑰量比DES多1000多萬倍。據估算,窮舉破譯至少需要10億年。為確保安全,clipper芯片由一個公司制造裸片,再由另一公司編程方可使用。
由完全是官方的封閉控制,該算法除可提供高強度的密碼報密外,還可對保密通信進行監聽,以防止不法分子利用保密通信進行非法活動,但這種監聽是在法律允許的范圍內進行的。官方控制也成為美國民間反對該方案的一個重要原因。
Clipper芯片主要用商業活動的計算機通信網。NSA同時在著手進行政府和軍事通信網中數據加密芯片的研究,並作為clipper的換代產品。它除了具有clipper的全部功能外,還將實現美國數字簽名標準(DSS)和保密的哈稀函數標準以及用純噪聲源產生隨機數據的算法等。
(四)公開密鑰密碼體制
傳統的加密方法是加密、解密使用同樣的密鑰,由發送者和接收者分別保存,在加密和解密時使用,採用這種方法的主要問題是密鑰的生成、注入、存儲、管理、分發等很復雜,特別是隨著用戶的增加,密鑰的需求量成倍增加。在網絡通信中,大量密鑰的分配是一個難以解決的問題。
例如,若系統中有n個用戶,其中每兩個用戶之間需要建立密碼通信,則系統中每個用戶須掌握(n-1)/2個密鑰,而系統中所需的密鑰總數為n*(n-1)/2
個。對10個用戶的情況,每個用戶必須有9個密鑰,系統中密鑰的總數為45個。對100個用戶來說,每個用戶必須有99個密鑰,系統中密鑰的總數為4950個。這還僅考慮用戶之間的通信只使用一種會話密鑰的情況。如此龐大數量的密鑰生成、管理、分發確實是一個難處理的問題。
本世紀70年代,美國斯坦福大學的兩名學者迪菲和赫爾曼提出了一種新的加密方法--公開密鑰加密隊PKE方法。與傳統的加密方法不同,該技術採用兩個不同的密鑰來對信息加密和解密,它也稱為"非對稱式加密方法。每個用戶有一個對外公開的加密算法E和對外保密的解密算法D,
它們須滿足條件:
(1)D是E的逆,即D[E(X)]=X;
(2)E和D都容易計算。
(3)由E出發去求解D十分困難。
從上述條件可看出,公開密鑰密碼體制下,加密密鑰不等解密密鑰。加密密鑰可對外公開,使任何用戶都可將傳送給此用戶的信息用公開密鑰加密發送,而該用戶唯一保存的私人密鑰是保密的,也只有它能將密文復原、解密。雖然解密密鑰理論上可由加密密鑰推算出來,但這種算法設計在實際上是不可能的,或者雖然能夠推算出,但要花費很長的時間而成為不可行的。所以將加密密鑰公開也不會危害密鑰的安全。
數學上的單向陷門函數的特點是一個方向求值很容易,但其逆向計算卻很困難。許多形式為Y=f(x)的函數,對給定的自變量x值,很容易計算出函數Y的值;而由給定的Y值,在很多情況下依照函數關系f(x)計算x值十分困難。例如,兩個大素數p和q相乘得到乘積n比較容易計算,但從它們的乘積n分解為兩個大素數p和q則十分困難。如果n為足夠大,當前的算法不可能在有效的時間內實現。
正是基這種理論,1978年出現了名的RSA算法。這種算法為公用網絡上信息的加密和鑒別提供了一種基本的方法。它通常是先生成一對RSA
密鑰,其中之一是保密密鑰,由用戶保存;另一個為公開密鑰,可對外公開,甚至可在網絡服務器中注冊。為提高保密強度,RSA密鑰至少為500位長,一般推薦使用1024位。這就使加密的計算量很大。為減少計算量,在傳送信息時,常採用傳統加密方法與公開密鑰加密方法相結合的方式,即信息採用改進的DES或IDEA對話密鑰加密,然使用RSA密鑰加密對話密鑰和信息摘要。對方收到信息,用不同的密鑰解密並可核對信息摘要。
RSA算法的加密密鑰和加密算法分開,使得密鑰分配更為方便。它特別符合計算機網絡環境。對網上的大量用戶,可以將加密密鑰用電話簿的方式印出。如果某用戶想與另一用戶進行保密通信,只需從公鑰簿上查出對方的加密密鑰,用它對所傳送的信息加密發出即可。對方收到信息,用僅為自己所知的解密密鑰將信息脫密,了解報文的內容。由此可看出,RSA算法解決了大量網絡用戶密鑰管理的難題。
RSA並不能替代DES,它們的優缺點正好互補。 RSA的密鑰很長,加密速度慢,而採用DES,正好彌補了RSA的缺點。即DES用明文加密,RSA用DES密鑰的加密。由DES加密速度快,適合加密較長的報文;而RSA可解決DES密鑰分配的問題。美國的保密增強郵件(PEM)就是採用了RSA
和DES結合的方法,目前已成為E-MAIL保密通信標準。
四、局域網通信安全措施
對局域網通信,可採用以下兩種具體措施進行加密傳輸。這些措施的加、解密功能都可以採用上述算法實現:
(1)鏈路加密
鏈路加密是傳輸數據僅在物理層前的數據鏈路層進行加密。接收方是傳送路徑上的各台節點機,信息在每台節點機內都要被解密和再加密,依次進行,直至到達目的地。
使用鏈路加密裝置能為某鏈路上的所有報文提供傳輸服務。即經過一台節點機的所有網絡信息傳輸均需加、解密,每一個經過的節點都必須有密碼裝置,以便解密、加密報文。如果報文僅在一部分鏈路上加密而在另一部分鏈路上不加密,則相當未加密,仍然是不安全的。與鏈路加密類似的節點加密方法,是在節點處採用一個與節點機相連的密碼裝置(被保護的外圍設備),密文在該裝置中被解密並被重新加密,明文不通過節點機,避免了鏈路加密關節點處易受攻擊的缺點。
(2)端--端加密
端--端加密是為數據從一端傳送到另一端提供的加密方式。數據在發送端被加密,在最終目的地(接收端)解密,中間節點處不以明文的形式出現。
採用端--端加密是在應用層完成,即傳輸前的高層中完成。除報頭外的的報文均以密文的形式貫穿全部傳輸過程。只是在發送端和最終端才有加、解密設備,而在中間任何節點報文均不解密,因此,不需要有密碼設備。同鏈路加密相比,可減少密碼設備的數量。另一方面,信息是由報頭和報文組成的,報文為要傳送的信息,報頭為路由選擇信息。由網絡傳輸中要涉及到路由選擇,在鏈路加密時,報文和報頭兩者均須加密。而在端--端加密時,由通道上的每一個中間節點雖不對報文解密,但為將報文傳送到目的地,必須檢查路由選擇信息,因此,只能加密報文,而不能對報頭加密。這樣就容易被某些通信分析發覺,而從中獲取某些敏感信息。
(3)加密傳輸方式的比較
數據保密變換使數據通信更安全,但不能保証在傳輸過程中絕對不會泄密。因為在傳輸過程中,還有泄密的隱患。
採用鏈路加密方式,從起點到終點,要經過許多中間節點,在每個節點地均要暴露明文(節點加密方法除外),如果鏈路上的某一節點安全防護比較薄弱,那按照木桶原理(木桶水量是由最低一塊木板決定),雖然採取了加密措施,但整個鏈路的安全只相當最薄弱的節點處的安全狀況。
採用端--端加密方式,只是發送方加密報文,接收方解密報文,中間節點不必加、解密,也就不需要密碼裝置。此外,加密可採用軟件實現,使用起來很方便。在端--端加密方式下,每對用戶之間都存在一條虛擬的保密信道,每對用戶應共享密鑰(傳統密碼保密體制,非公鑰體制下),所需的密鑰總數等用戶對的數目。對幾個用戶,若兩兩通信,共需密鑰n*(n-1)/2種,每個用戶需(n-1)種。這個數目將隨網上通信用戶的增加而增加。為安全起見,每隔一段時間還要更換密鑰,有時甚至只能使用一次密鑰,密鑰的用量很大。
鏈路加密,每條物理鏈路上,不管用戶多少,可使用一種密鑰。在極限情況下,每個節點都與另外一個單獨的節點相連,密鑰的數目也只是n*(n-1)/2
種。這裡n是節點數而非用戶數,一個節點一般有多個用戶。
從身份認証的角度看,鏈路加密只能認証節點,而不是用戶。使用節點A密鑰的報文僅保証它來自節點A。報文可能來自A的任何用戶,也可能來自另一個路過節點A的用戶。因此鏈路加密不能提供用戶鑒別。端--端加密對用戶是可見的,可以看到加密的結果,起點、終點很明確,可以進行用戶認証。
總之,鏈路加密對用戶來說比較容易,使用的密鑰較少,而端--端加密比較靈活,用戶可見。對鏈路加密中各節點安全狀況不放心的用戶也可使用端--端加密方式。
(http://www.fanqiang.com)
進入【