網絡通信中的基本安全技術
摘 要:介紹了網絡安全的基本內容,詳細分析了DES、RSA、數字簽名、數字信封、密鑰管理和CA認證體系等基本的安全技術。
本文引用地址:http://www.104case.com/article/201612/332857.htm關鍵詞:Internet DES RSA 加密 密鑰管理
Internet已經成為當今全球數據通信的有效工具,它的迅猛發展對全球經濟和社會生活都產生了巨大影響。Internet網的應用領域極其廣闊,如許多高等學校都已建立自己校園網并與Internet相連。作為遠程教學的工具和獲得信息的重要途徑,商業界也在積極地建立企業內部網絡并通過Internet向公眾提供種類繁多的信息服務,其中最引人注目的當屬電子商務,電子商務正是在Internet快速發展的浪潮下應運而生的,它是信息時代社會生產與社會消費之間發生的一次革命。
Internet在為人們帶來無限商機的同時,也給人們提出一個十分嚴峻的課題,即如何保證各種網絡應用的安全性。例如在電子商務中網上購物是在線付款,用戶的信用卡號等許多信息都是敏感信息,而這些網上傳輸的敏感數據和存放敏感信息的站點正是網絡黑客的重點攻擊對象。因此,人們在開展各種網絡業務時,首先考慮的是這種網絡業務是否能夠保證安全,如果不能保證安全,人們也就不會接受這種業務。
網絡通信的數據安全包括以下幾個方面:
1數據傳輸的安全性數據傳輸的安全性即是要保證在公網上傳輸的數據不被第三方竊
2數據的完整性對數據的完整性需求是指數據在傳輸過程中不被篡改。
3身份驗證由于網上的通信雙方互不見面,必須在相互通信時(交換敏感信息時)確認對方的真實身份。
4不可抵賴性在網上開展業務的各方在進行數據傳輸時,必須帶有自身特有的、無法被別人復制的信息,以保證發生糾紛時有所對證。
通常情況下,網絡通信中所采用的安全技術主要有防火墻技術、數據加密技術和身份認證技術等。本文討論的重點是數據加密技術和身份認證技術以及它們在網絡通信安全策略中的應用。
1 加密技術
計算機網絡中保護數據安全性最有效的方法就是數據加密技術。數據加密算法有很多種,每種加密算法的加密強度各不相同。目前存在兩種基本的加密體制:對稱密鑰加密和非對稱密鑰加密。
1.1 對稱密鑰加密
對稱密鑰加密體制又被稱為私鑰加密體制,它使用同一組鑰匙對消息進行加密和解密。因此,消息的接收者和發送者必須擁有一組相同的密鑰。在私鑰加密體制中,比較有名的加密算法是DES(DataEncryption Standard)(數據加密標準)。
美國國家標準局于1977年宣布數據加密標準DES用于非國家保密機關。該加密算法是由IBM公司研究提出的,使用64比特的密鑰對64比特的數據進行加密和脫密。
DES可以采取多種操作方式,下面介紹兩種最為通用的操作方式,即ECB、CBC:
1)電子密碼本型ECB這種操作模式是用同一把鑰匙獨立地加密每個64-bit的明文組,其操作特點如下:
·可加密64bits。
·加密與代碼組的順序無關。
·對同一組密鑰,相同明文組將產生相同密文組,因此易受‘字典攻擊’的破譯。
·錯誤只影響當前的密文組,不會擴散傳播。
2)密碼分組鏈接型CBC每組明文在加密之前先與前一個密文組進行異或運算,然后再進行加密,其操作特點如下:
·可加密64 bits的整數倍。
·對相同的密鑰和初始向量相同的明文將生成相同的密文。
·鏈接操作使密文組依賴于當前及其前面所有的明文組,因此密文組的順序不能被打亂。
·可用不同的初始向量來防止相同的明文產生相同的密文。
·錯誤將影響從當前開始的兩個密文組。
DES在密碼學發展歷史上具有重要的地位。在DES加密標準公布以前,密碼設計者出于安全性考慮,總是掩蓋算法的實現細節,而DES開歷史之先河,首次公開了全部算法。同時,DES作為一種數據加密標準,推動了保密通信在各種領域的廣泛應用。
1.2 非對稱密鑰加密
非對稱密鑰加密又被稱為公開密鑰加密體制,是由Wwhitfield Diffie和Martin Hellman 在1976年提出。其加密機制是,每個人擁有一對密鑰,一個稱為公開密鑰,另一個稱為秘密密鑰,這兩個密鑰是數學相關的。公開密鑰是公開信息,秘密密鑰由用戶自己保存。在這種體制中,加密和解密使用不同的密鑰,因此,發送者和接收者不再需要共享一個秘密(對稱密鑰加密體制中,發送者和接收者必需共享一個密鑰),即在通信的全部過程中不需要傳送秘密密鑰。公開密鑰算法的主要特點如下:
1)用加密密鑰PK對明文A加密后得到密文,再用解密密鑰SK對密文解密,即可恢復出明文A。
2)加密密鑰不能用來解密,即:
3)用SK加密的信息只能用PK解密;用PK加密的信息只能用SK解密。
4)從已知的PK不可能推導出SK?;蛘哒f,由PK推導出SK在計算上是不可能的。
5)加密和解密的運算可以對調,即:
公開密鑰算法在運算速度較對稱密鑰加密算法慢一些,因此在實際應用中,對稱密鑰算法主要用于產生數字簽名、數字信封而并不直接對大量的應用數據進行加密。
在公開密鑰體制中,最為通用的是RSA公鑰加密體制,它已被推薦為公開密鑰數據加密標準。RSA是由Rivet、Shamir和Adleman提出的,它的安全性是基于大數因子分解,由于大數因子分解在數學上沒有行之有效的算法,因此該加密技術的破譯是相當困難的。1.3數字指紋技術
在繼續介紹其它的安全技術之前,我們還要先討論一下數字指紋技術。
數字指紋是一種形象的說法,在密碼學上又被稱為“信息摘要”(message)。它是通過安全的單向散列函數(SecureHash)作用于將要發送的信息(message)上產生的:
message digest=Secure Hash(message)
單向散列函數有三個主要特點:
1)它能處理任意大小的信息,并將其按信息摘要(message digest)方法生成固定大小的數據塊,對同一個源數據反復執行Secure Hash函數將總是得到同樣的結果。
2)它是不可預見的。產生的數據塊的大小與原始信息的大小沒有任何聯系,同時源數據和產生的數據塊看起來也沒有明顯關系,源信息的一個微小變化都會對小數據塊產生很大的影響。
3)它是完全不可逆的,沒有辦法通過生成的數據塊直接恢復源數據。
數字指紋技術并不是一種加密機制,但卻能產生信息的數字“指紋”,通過驗證信息的“指紋”來確保數據沒有被修改或變化,保證信息的完整性不被破壞。
常用的信息摘要算法有MD2、MD5和SHA-1等。
2 身份認證技術
2.1 數字簽名
數字簽名是用來保證信息傳輸過程中信息的完整和提供信息發送者的身份認證和不可抵賴性的一種安全技術。首先,接收者能夠驗證發送者對報文的簽名,以確保數據的完整性。同時,由于第三方公證機構可以通過數字簽名進行公證,因此發送者事后不能抵賴對報文的簽名。另外,數據簽名還具有不可偽造性,同現實世界中手工簽名具有相同的效果。
公開密鑰算法是實現數字簽名的主要技術。使用公開密鑰算法實現數字簽名技術,類似于公開密鑰加密技術。它有兩個密鑰:一個是簽名密鑰,它是對外保密的,因此稱為私有密鑰或秘密密鑰,簡稱私鑰;另一個是驗證密鑰,它是對外公開的,因此稱為公開密鑰,簡稱公鑰。
由于公開密鑰算法的運算速度比較慢,因此可使用安全的單向散列函數對要簽名的信息進行摘要處理,減小使用公開密鑰算法的運算量。實現數字簽名的過程如圖1所示。
1)信息發送者A使用一單向散列函數對信息生成信息摘要。
2)信息發送者A使用自己的私鑰簽名信息摘要(用私鑰對摘要加密)。
3)信息發送者A把信息本身和已簽名的信息摘要一起發送出去。
4)任何接收者B通過使用與信息發送者A使用的同一個單向散列函數對接收的信息生成新的信息摘要,再使用信息發送者A的公鑰對數字簽名解密,并與新生成的信息摘要比較,以確認信息發送者的身份和信息是否被修改過。
在數字簽名的基礎上,還可以實現雙重簽名技術。雙重簽名技術是為了保證在事務處理過程中三方安全地傳輸信息的一種技術,實現了三方通信時的身份認證和信息完整性、防抵賴的保護。例如在網上購物的業務中,客戶和商家之間要完成在線付款,那么客戶、商家和銀行之間將面臨以下問題:客戶(甲)需要給商家(乙)發送購買信息和客戶的付款帳戶信息;乙作為商家,接受購買信息后,還要同銀行(丙)交互,以實現資金轉帳。但甲不愿讓乙看到自己的付款帳戶信息,也不愿讓處理甲付款信息的丙看到訂購信息。此時甲使用雙重簽名技術對兩種信息作數字簽名,來完成以上功能。
雙重數字簽名的實現步驟如下:
1)甲對發給乙的信息1生成信息摘要1;
2)甲對發給丙的信息2生成信息摘要22;
3)甲把信息摘要11和信息摘要2合在一起,對其生成信息摘要3,并使用自己的私鑰簽名信息摘要3;
4)甲把信息1、信息摘要22和信息摘要3的簽名發給乙;
5)甲把信息2、信息摘要1和信息摘要3的簽名發給丙;
6)乙接收信息后,對信息1生成信息摘要,把這信息摘要和收到的信息摘要2合在一起,并對其生成新的信息摘要,同時使用甲的公鑰對信息摘要3的簽名進行驗證,以確認信息發送者的身份和信息是否被修改過;
7)丙接收信息后,對信息2生成信息摘要,把這信息摘要和收到的信息摘要1合在一起,并對其生成新的信息摘要,同時使用甲的公鑰對信息摘要3的簽名進行驗證,以確認信息發送者的身份和信息是否被修改過。
2.2 數字信封
數字信封技術結合了秘密密鑰加密技術和公開密鑰加密技術的優點??朔嗣孛苊荑€加密中秘密密鑰分發困難和公開密鑰加密中加密時間長的問題,使用兩個層次的加密來獲得公開密鑰技術的靈活性和秘密密鑰技術的高效性,保證信息的安全性。由于數字信封技術是把要發送的報文用收信方的公鑰進行加密,只有收信方的私鑰才能解開被加密的報文,而其他人不能解開被加密的報文,這樣就確保了只有收信方才能準確地接收到報文,該技術也因此被形象地稱為“數字信封”。
數字信封的具體實現步驟如圖2所示。
1)發送方A首先生成一個對稱密鑰,用該對稱密鑰加密要發送的報文;
2)發送方A用接收方B的公鑰加密上述對稱密鑰;
3)發送方A將第一步和第二步的結果(即數字信封)傳給接收方B;
4)接收方B使用自己的私鑰解密被加密的對稱密鑰;
5)接收方B用得到的對稱密鑰解密被發信方加密的報文,得到真正的報文。
數字信封技術在外層使用公開密鑰加密技術,因此可以獲得公開密鑰技術的靈活性。由于內層的對稱密鑰長度通常較短,從而使得公開密鑰加密的相對低效率被限制在最低限度,而且由于可以在每次傳送中使用不同的對稱密鑰,系統有了額外的安全保證。
2.3 密鑰管理和身份認證技術
在許多網絡攻擊事件中,密鑰的安全管理是黑客攻擊的一個主要環節,因此網絡的安全性另一個方面就是密鑰的安全保護上,密鑰管理包括密鑰的設置、產生、分配、存儲、注銷、驗證和使用等一系列過程。
密鑰分配是密鑰管理中最大的問題,也是網絡的安全的重中之重。密鑰必須通過最為安全的方式進行分配。數字證書是一種安全分發公鑰的方式。在這種方式中,必須設立一個密鑰管理中心,它全權負責密鑰的發放、注銷及驗證。RSA公開密鑰體制就是采用這種方式進行密鑰管理的。在RSA公開密鑰體制中存在一個或多個密鑰管理中心,又稱為證書授權CA--Certificate Authority中心。證書授權中心為每個申請公開密鑰的用戶發放一個證書,該證書證明了該用戶擁有證書中列出的公開密鑰。數字證書中基本包括證書持有人的個人信息、公鑰以及證書簽發者的對這些信息的數字簽名和證書簽發者的數字證書(私鑰由用戶秘密保存)。ca的數字簽名使得攻擊者不能偽造和篡改該證書,因此,數字證書既起到分配公鑰的作用,同時又實現了身份認證的功能。
CA體系有單級和多級之分。在單級CA中,用戶可以根據證書簽發者(即根CA,頂級CA)證書中的公鑰來驗證用戶證書的數字簽名。在多級CA中,各級CA形成一個至上而下的鏈級體系,每一級CA證書的合法性都要由其上級CA證書來驗證,直至根CA。如果用戶要驗證某一證書的合法性,就要由該證書的簽發者一直驗證根CA證書為止,才能完全信任該證書。那么,如果根CA中心被攻破,則整個CA體系徹底崩潰。
本文主要分析了網絡安全中的基本加密算法和安全技術,在具體的網絡業務中,還要根據本業務的特點,來定相應的安全協議和安全策略。例如在電子商務中,越來越多的商業活動是在互未謀面的實體之間進行的,因此客戶和商家之間就存在著相互的身份認證問題。此外,在這類業務中,最為敏感的信息是網上傳送的用戶口令和信用卡號碼等,一旦被竊聽,將產生災難性的后果。為了解決電子商務中這類安全問題,國際信用卡集團VISA和MasterCard聯合制定了“安全電子交易”(SET)協議,用來保證因特網中在線持卡交易的安全性。從網絡七層協議的角度來看,SET協議處在應用層上,制定了以信用卡為基礎的電子付款系統規范,定義了使用信用卡購物的全部支付流程。SET協議中所使用的安全技術也是上面介紹的基本加密算法和身份認證技術。
網絡安全問題涉及到許多方面,確保網絡安全將是各種技術的大融和。隨著網絡的飛速發展,人們對安全問題的探索將不斷深入,各種安全技術也必將在這種探索中得到進一步的完善與發展。
評論