網絡安全終極版_第1頁
網絡安全終極版_第2頁
網絡安全終極版_第3頁
網絡安全終極版_第4頁
網絡安全終極版_第5頁
已閱讀5頁,還剩7頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

廣泛應用數據處理設備前,信息安全保障主要方法:物理:帶有組合所得檔案柜管理:聘用過程中的人事屏幕步驟。“數據”:信息的一種特定的物理表示形式,通常是一個具有特定含義的符號序列,特別是能在計算機上處理或生成的信息的表示形式。“信息”:能被表示為各種不同形式數據的食物和方法。NIST計算機安全手冊關于計算機安全的定義:對某個自動化信息系統的保護措施,其目的在于實現信息系統資源的完整性、可用性以及機密性(包括硬件、軟件、固件、信息/數據、電訊)。該定義的三個關鍵目標組成了計算機安全的核心內容:機密性:數據機密性:保證隱私或機密的信息不會被泄露給未經授權的個體。隱私性:保證個人可以控制和影響與之相關的信息,這些信息有可能被收集、存儲并且被某人泄露給某人。完整性:數據完整性:保證只能有某種特定、授權的方式來更改信息和代碼。系統完整性:保證系統及時運轉,其服務不會拒絕經授權的用戶。三個信息和信息系統的安全目標:1機密性:維持施加在數據訪問和釋放上的授權限制,包括保護個人隱私和私人信息的措施,機密性損失指非授權的信息泄露。2完整性:防范異常的信息修改和破壞,包括保證信息的授權與認證。完整性損失指未經授權的信息修改和破壞。可用性:系統訪問或使用的中斷。安全領域有必要再加入額外的概念:真實性:可以被驗證和信任的屬性,或對于傳輸、信息、信息發送者的信任。這意味著驗證使用者的身份以及系統每個輸入信號是否來自可靠的信息源。責任性:該安全目標要求某個實體的行為可以被唯一地追蹤到該實體。它支持認證、威懾、錯誤隔離、入侵檢測和防范、恢復和合法行為。安全違規:機密性損失、完整性損失、可用性損失。計算機和網絡安全令人著迷卻復雜多變的原因:1安全問題并不像初學者所見的那樣簡單:confidentiality機密性、authentication認證性、nonrepudiation不可抵賴性、integrity完整性。在開發一種特定安全機制或算法時,必須時常考慮對這些安全特性的潛在攻擊。成功的攻擊往往是通過一種完全不同的方式來觀察問題的。利用了機制中不可預見的弱點。用來提供特定服務的程序通常是違反直覺的:不能單純的通過特定服務的要求來判定某種精心設計的方法是否可用。只有當考慮過各種威脅后,所涉及的這些安全機制才有意義。對已經設計出的多種安全機制,決定這些機制的使用場合是非常必要的。其物理位置和邏輯位置(協議棧層次)都很重要。安全機制通常包括不止一種特定算法或者協議。存在對通信協議的信任問題。計算機和網絡安全本質上來說是企圖發現漏洞的作惡者和設計者或者管理者之間的一場智力較量。攻擊者只要發現一個弱點即可,設計者必須發現和堵塞所有弱點:木桶原理。用戶和管理者中有一種自然的傾向:知道災難發生前他們總覺得在安全方面的投入是無利可圖的。安全要求常規性,甚至經常性和監測性。這對今天的短期性和超負荷環境而言是困難的。安全仍然很普遍的是一種事后考慮,即在設計結束之后才被引入到一個系統中,而不是作為設計中的一部分在設計該過程中就加以考慮。很多用戶(甚至安全管理員)認為,強的安全對一個信息系統或信息的使用而言在有效性和易操作性方面總是一種障礙:往往越安全越麻煩。OSI安全模型關注安全攻擊、機制和服務:1安全攻擊:任何可能危及機構的信息安全的行為。2安全機制:一種用來增強機構的數據處理系統安全性和信息傳遞安全性的服務。這種服務是用來防范安全攻擊的,它們利用了一種或多種安全機制來提供服務。劃分安全攻擊的方法:1被動攻擊:企圖了解或利用系統信息但是不侵襲系統資源。2主動攻擊:試圖改變系統資源或侵襲系統操作。被動攻擊的本質是竊聽或監視數據傳輸。攻擊者的目標是獲取傳輸的數據信息。有兩種形式:1消息內容泄露攻擊:電話交談、電郵消息和傳輸文件中都有可能包含敏感或機密信息。2流量分析(trafficanalysis)攻擊:加密時常用的遮蓋內容的方法。但攻擊者任然有可能觀察到這些消息的模式,可以推測出通信雙方的位置和身份并且觀察到交換信息的頻率和長度。對付被動攻擊的重點是防范而不是檢測:被動攻擊不改變數據,所以非常難以檢測。但是,仍然可以防范:通常使用加密的方法來實現。主動激動包含數據流的改寫和錯誤數據流的添加,可以劃分為4類:假冒一個實體假冒成另一個不同實體。通常包含其他主動攻擊形式中的一種,例如:攻擊者首先捕獲若干認證序列,并在發生一個有效的認證序列之后重放這些捕獲的序列,這樣就可以使用一個具有較少特權的經過認證的實體通過模仿一個具有其他特權的實體而得到這些額外的特權。重放涉及被動獲取數據單元并按照它之前的順序重新傳輸,以此來產生一個非授權的效應。改寫消息指合法消息的某些部分被篡改,或者消息被延遲、被重排,從而產生非授權效應。拒絕服務可以阻止或禁止對通信設備的正常使用或管理,該種攻擊可能有一個特殊的目標:比如一個實體可能禁止把所有消息發到一個特定的目的地(例如,安全審計服務)。另一種DoS的形式是對整個網絡的破壞,使網絡癱瘓或消息過載從而喪失網絡性能。主動攻擊表現出來的特征與被動攻擊相反。被動攻擊雖然難以檢測,卻有方法去防范它。而防范主動攻擊卻非常困難,因為這樣做需要一直對所有通信設備和路徑進行物理保護。相反,檢測主動攻擊并恢復主動攻擊造成的損壞和延遲卻是可行的,由于檢測本身具有威懾作用,它同樣可以對防范作出貢獻。安全服務X.800定義:由通信開放系統的協議層提供的,并能確保系統或數據傳輸足夠安全的服務。RFC4949定義:由系統提供的對系統資源進行特定保護的處理或通信服務,安全服務實現了安全策略,而安全機制實現了安全服務。X.800將這些服務分為5類和14中特定的服務(表1.2)認證數據完整性01對等實體認證 08帶有恢復的連續完整性02數據源認證 09無恢復的鏈接完整性03訪問控制 10選擇域連接的完整性數據機密性 11無連接的完整性04連接機密性 12選擇域無連接的完整性05無連接機密性 不可抵賴性06選擇域機密性 13不可抵賴性,源07流量機密性 14不可抵賴性,目的地認證服務與確保通信可信是密切相關的,就單條消息(例如警告信號)來說,認證服務的功能就是向接受者保證消息是來自它所要求的源,如果是一次正在進行的交互,例如終端與主機之間的連接,則需要雙方參與。首先,連接初始化的時候,認證服務確保了兩個實體都是可信的,也就是說,每個實體都是對方所要求連接的一方。其次,認證服務必須要確保連接不會受非法第三方的干擾,這樣的第三方為了收發非授權信息而假冒成合法的任意一方實體。在標準中定義了如下兩種特定的認證服務:對等實體認證:在聯系中確認對等實體的身份,對等實體是在不同系統中應用同樣協議的兩個實體。這種認證用在連接的建立階段或者數據傳輸階段中,它提及對實體的確認以保證該實體沒有假冒或者重放上次連接的非授權數據。數據源認證:提供對數據單元來源的確認。但不提供對數據單元復制或改寫的保護,支持電郵這樣在通信雙方之間事先未進行交互的應用程序。訪問控制在網絡安全的環境中,訪問控制指通信鏈路來訪問主機系統和應用程序的能力,為達到這個目的,每個試圖獲取訪問權限的實體必須先要被識別或認證,這樣才能把訪問權限賦予這些實體。數據機密性機密性保護被傳輸的數據不會遭受被動攻擊。就傳輸數據的內容來說,保護可以分為幾個層次。最廣義的服務保護在一定時期內兩個用戶之間傳輸的所有數據。狹義的服務形式包含對單個消息甚至是消息內特定字段的保護,這些限制不如廣義方法有效,而且實現起來可能更加復雜和昂貴。機密性的另一個方面是防止流量數據遭受竊聽分析,這就要求攻擊者不能探測到數據源、數據目的地、頻率、長度或者其他在通信設施上傳輸數據的特征。數據完整性正如機密性一樣,數據完整性同樣可以被用于消息流、單個消息或消息內部的所選字段,同樣,最有效和最直接的方法是對整個消息流的保護。處理消息流的面向連接的完整性服務確保消息接受時與發送時一致,未被復制、插入、改寫、重排序或者重放、數據的破壞同樣包含在此服務保護當中。因此,面向連接的完整性服務主要致力于防止消息流改寫和拒絕服務。另一方面,處理單個消息而不考慮任何更大環境的無連接的完整性服務一般只提供針對消息改寫的保護措施。完整性服務與主動攻擊相關,相對于防范而言我們更關心檢測。不可抵賴性不可抵賴性防止發送者或接收者否認一個已傳輸的消息。因此,當消息發送之后,接受者能夠證明宣稱的發送者實際上發送了此條消息,同樣,在消息接受之后,發送者也能證明宣稱的接受者實際上接收了此條消息。可能性服務X.800和RFC4949都將可用性定義為系統的性質,或者定義為在接收到授權系統命令時,系統資源根據系統性能規范所表現出來的可取性和可用性(例如,無論用戶何時需要,系統總能提供服務,那么這個系統就是可用的)。多種攻擊可能導致可用性損失或者下降,系統可以對其中一些攻擊采用自動對側進行修正,例如認證和加密;而其他的攻擊則需要物理措施去防止分布式系統元件的可用性缺失,并對其進行恢復。X.800認為可用性是一種同各種安全服務相關連的重要屬性。可用性服務保護系統以確保它的可用性。這項服務主要致力于解決DoS攻擊引起的安全問題,它依賴于適當的管理和控制系統資源,因此也依賴于訪問控制服務和其他安全服務。X.800定義的安全機制劃分為:(P12表1.3)?特定安全機制:在特定協議層上執行的機制,例如加密、數字簽名、訪問控制、數據完整性、認證交換、流量填充、路由控制、公證。?普適的安全機制:沒有指定特定的協議層或安全服務機制,例如可信功能、安全標簽、事件檢測、安全審計跟蹤、安全恢復。X.800區分了:可逆密碼編碼機制:指對數據進行加密之后可以進行解密的加密算法。不可逆密碼編碼機制:包括散列算法和消息認證碼,廣泛用于數字簽名和消息認證應用中。X.800中安全服務和安全機制之間的關系見P13表1.4。通用網絡安全模型表明設計特定的安全服務時的基本任務有四個:?設計用來執行與安全相關的轉換的算法,這種算法應該是不會被攻擊者擊破的。?生成用于該算法的秘密信息。?開發分發和共享秘密信息的方法。?指定一種能被兩個主體使用的協議,這種協議使用安全算法和秘密信息以便獲得特定的安全服務。所有用于提供安全性的技術都包括以下兩個主要部分:?對待發送信息進行與安全相關的轉換;消息加密打亂了消息,使得攻擊者讀不懂該消息;建立在消息內容上面的附加碼,可以用來驗證發送者的身份。?兩個事物的主體共享一些不希望被攻擊者所知的秘密信息;加密秘鑰在傳輸之前用于打亂消息而在接收之后用于恢復消息。為了達到安全傳輸可能需要可信的第三方;負責分發秘密信息給兩個主體,同時對攻擊者隱藏這些消息,或者仲裁兩個主體支教引起的關于消息傳輸認證的紛爭。黑客hacker可以是沒有惡意的人。入侵者也可以是因為不滿而想搞破壞的員工或者為了經濟利益試圖通過訪問計算機來獲取經濟收入的罪犯。另一種有傷害訪問是利用計算機系統邏輯上的弱點,這不僅影響應用程序,而且還能夠影響實用程序,例如編輯器和編譯器。程序存在兩種形式的威脅:信息訪問威脅informationaccessthreat本不該訪問的某些數據的用戶截取或修改的數據。?服務威脅servicethreat利用計算機的服務缺陷阻止合法用戶的使用,病毒virus和蠕蟲worm是軟件攻擊的兩個工具示例。解決有害訪問的安全機制主要有兩大范疇(Fig1.5)?看門人功能gatekeeperfunction包含基于口令的登錄過程,設計成拒絕除授權用戶外的所有訪問。?屏蔽邏輯設計用來檢測和拒絕蠕蟲、病毒以及其他類似的攻擊。計算機網絡安全的本質是網絡上的信息安全。入侵檢測系統有基于網絡和基于主機兩種類型。安全管理從范疇上講,涉及物理安全策略、訪問控制策略、信息加密策略和網絡安全管理策略。嚴格的說,“木馬”程序是一種計算機網絡惡意代碼。密碼學中用來辨識信息是否新鮮的一個隨機的或者偽隨機的數-----現時(nonce)是只使用一次的值,例如一個時間戳,一個計時器或者一個隨機數;最小需求就是每個事物它都不同。不可否認性防止通信中包含的實體之一否認已經參加了所有或者部分通信。認證是確保正在通信的實體就是該實體所聲稱的實體的過程。假冒(masquerade)、重放、消息修改和拒絕服務(DoS)都屬于主動攻擊。現代密碼體制把算法和秘鑰分開,只需要保證秘鑰的保密性就行了,算法是可以公開的安全管理從范疇上講,涉及物理安全策略、訪問控制策略、信息加密策略和網絡安全管理策略。數據加密性指的是防止非法實體對用戶的主動攻擊,保證數據接受方收到的信息與發送方發送的信息完全一致。數據機密性保護數據免受非授權泄露(disclosure)。在建立堡壘主機時在堡壘主機上應設置盡可能少的網絡服務。目前病毒的主流類型是木馬與蠕蟲。駭客(cracker)涵義是以破壞系統為目標的人。加密算法使用的兩個基本功能是置換和替代。特洛伊木馬攻擊的威脅類型屬于植入威脅。防火墻的設計原則是保持設計的簡單性。數據包頭信息不是入侵檢測系統利用的信息。在計算上被認為是安全的算法指用現在或將來可得到的資源(公開數據)都不能破譯的算法。數字證書一般依靠CA中心的對稱機密機制來實現。這種說法是錯誤的。IPsec不可以做到認證、完整性檢查、加密。ESP除了AH所提供的所有服務外,還提供機密性服務。數據篡改及破壞屬于主動攻擊。防范數據驅動侵襲不屬于代理服務技術優點。在安全審計的風險評估階段,通常按偵查階段、滲透階段、控制階段順序來進行的。采用公開密鑰體制對對稱密鑰體制的密鑰進行加密后的通信就是所謂的混合加密方式。VPN指的是用戶通過公用網絡建立的臨時的、安全的連接。Telnet服務自身的主要缺陷是明文傳輸用戶名和密碼。網絡入侵檢測占用資源少;攻擊者不易轉移證據;檢測速度快。數字信封解決的難題:單玥體制密鑰分發困難;公鑰體制加解密時間長。木馬特征:自動更換文件名,難于被發現;程序執行時不占太多系統資源;不需要服務端用戶的允許就能獲得系統的使用權。端口掃描技術:TCPFIN掃描;IP包分段掃描:TCPconnect()掃描。負責產生、分配并管理PKI結構下所有用戶的證書的機構是認證中心CA。防火墻按自身的體系結構分為包過濾型防火墻和雙速網關。關于網絡入侵檢測的敘述:占用資源少;攻擊者不易轉移證據;檢測速度快、基于SET協議的電子商務系統中對商家和持卡人進行認證的是支付網關。關于病毒的敘述:病毒可以是一個程序;病毒可以是一段可執行代碼;病毒能夠自我復制。公鑰管理的方法有:公鑰目錄表;公鑰管理機構;公開發布。狀態檢測防火墻是同時具有安全性和高效性的防火墻技術。RSA不屬于對稱密碼算法。非對稱密碼算法特點:處理速度慢;使用兩個密碼;計算量大。若一個用戶同時屬于多個用戶組,則其權限適用原則包括:最大權限原則;文件權限超越文件夾權限原則;拒絕權限超越其他所有權限的原則。提高IE瀏覽器的安全措施包括:禁止使用cookies;禁止使用ActiveX控件;禁止使用Java及活動腳本。提高電子郵件傳輸安全性的措施包括:對于重要的電子郵件可以加密傳送,并進行數字簽名;在郵件客戶端和服務器端采用必要措施防范和解除郵件炸彈以及郵件垃圾;將轉發垃圾郵件的服務端放到“黑名單”中進行封堵。防火墻技術指標包括:并發連接數;吞吐量;接口數量。漏洞是指硬件、軟件或策略上的缺陷,從而可使攻擊者能夠在未經授權的情況下訪問系統。1978年,美國MIT的研究小組成員李維斯特(Rivest)、沙米爾(Shamir)、艾德曼(Adleman)提出了一種基于公鑰密碼體制的優秀加密算法 SA算法。創建Web虛擬目錄的用途是以一個固定的別名來指向實際的路徑,當主目錄改變是,相對用戶而言是不變的。兩個人通過對稱密碼通信需要一個密鑰。現在“黑客(hacker)”一詞在信息安全范疇內的普遍含意是特指對電腦系統的非法侵入者。入侵監測系統通常分為基于主機和基于網絡兩類。網絡訪問控制通常由防火墻實現。DES加密算法主要采用替換和移位方法加密。DES算法的密鑰為64位,實際加密時僅用到其中的56位。數字水印技術主要包括數字水印嵌入技術、數字水印提取和數字水印監測技術。按照數據監測方法的不同,入侵監測系統可以分為異常型模型和誤用監測模型兩類。危害計算機網絡安全的因素分為自然因素和人為因素兩類。利用密碼技術,可以實現網絡安全所要求的:數據保密性;數據完整性;數據可用性;身份認證。在加密過程中,必須用到的三個主要元素是所傳輸的信息(明文);加密鑰匙(Encryptionkey);加密函數。加密的強度主要取決于算法的強度;密鑰的保密性;密鑰的強度。對于對稱密鑰加密,加、解密雙方使用同樣的密鑰;DES算法屬于對稱加密算法;相對于非對稱加密算法,加、解密處理速度比較快。相對于對稱加密算法,非對稱密鑰加密算法加密數據速率較低;安全性更好;加、解密的密鑰不同。在通信過程中,只采用數字鮮明可以解決數據完整性、數據的抗抵賴性、數據的篡改等問題。防火墻不能防止一下攻擊行為:內部網絡用戶的攻擊;傳送已感染病毒的軟件和文件;數據驅動型的攻擊。關于包過濾技術與代理技術的比較:包過濾技術的安全性較弱,代理服務技師的安全性較高;包過濾不會對網絡性能產生明顯影響,代理服務技術會嚴重影響網絡性能。對于防火墻的設計推測,業界有一個非常著名的標準,即兩個基本的策略:沒有明確允許的就是禁止的;沒有明確禁止的就是允許的。建立堡壘主機的一般原則:最簡化原則;預防原則。計算機網絡的資源共享包括硬件資源共享和軟件資源共享。完整服務的Kerberos環境由Kerberos服務器、許多客戶和遇到應用服務器組成。實際應用中主要考核的安全指標有身份認證、訪問控制、數據完整性、安全審計、隱蔽信道分析等。安全威脅可以利用的主要途徑有:系統實現存在的薄弱;系統安全體系的缺陷;使用人員的安全意識薄弱;管理制度的薄弱。網絡安全具有機密性、完整性和可用性。網絡訪問控制通常由防火墻實現。密碼按密鑰方式劃分,可分為對稱式密碼和非對稱式密碼。特洛伊木馬是指黑客用來遠程控制目標計算機的特殊程序,凡是非法駐留在目標計算機里,并執行預定的操作,竊取目標的私有信息,都屬于特洛伊木馬。最小特權原則就是最大限度地控制用戶為完成授權任務所需要的許可集。計算機網絡安全要素有:實體安全;運行安全;數據安全;軟件安全。保密性服務;認證服務;非否認服務屬于計算機網絡安全服務。防火墻的作用有網絡安全的屏障;可以強化網絡安全策略;對網絡存取和訪問進行監控、審計;防止內部信息外泄。網關;路由器;網橋;橋由器都是網絡互連設備。屬于安全套接層定義的客戶端和服務器端之間要交換的認證信息有允許客戶端和服務器選擇加密算法以及使用的密鑰;服務器端鑒別客戶端身份;建立一個安全套接層加密連接;客戶端鑒別服務器身份。IPv6的特點:將現有的IP地址長度礦大了8倍;主機殼自由配置IP地址和網絡系統。會話式密鑰是用在兩個系統實體(principals)之間的臨時加密密鑰。主密鑰是一種持久的密鑰。又在密鑰分發中心和系統實體之間,用于對繪畫密鑰的傳輸編碼,典型地,主密鑰通過非密碼學方法進行分發。公鑰加密系統的基本組成元素是什么?一個對稱加密方案由5部分組成:Fig2.1*明文:注入算法作為輸入的可讀消息或數據。原始消息或數據,作為算法的輸入。*加密算法:對明文執行各種各樣的變換。對明文講行各種替換和轉換。*公鑰和私鑰:選擇這對密鑰是為了使得一個密鑰用于加密的話,另一個密鑰就用于解密。加密算法所執行的精確變換依賴于所提供的作為輸入的公鑰或者私鑰。秘密密鑰:也算算法的輸入,算法進行的具體替換和轉換取決于這個密鑰。密文:是作為輸出而產生的混雜的消息。它依賴于明文和密鑰。對于給定的消息,兩個不同的密鑰將產生兩個不同的密文。 已被打亂的消息輸出,取決于明文和秘密密鑰,對于一個給定的消息,不同的密鑰會產生不同的密文。*解密算法:該算法接受密文和匹配的密鑰,并且產生原始的明文。本質上是加密算法的反向執行,用密文和同一密鑰產生原始明文。列舉并簡要說明公鑰加密系統的三種應用。*加密/解密:發送方使用接收者的公鑰加密消息。*數字簽名:發送方用其私鑰在一條消息上“簽名”。簽名由加密算法完成,該算法是消息的函數,應用于消息或者數據的一小塊上。*密鑰交換:兩側協作交換會話密鑰。幾種不同的方法是可能的,包含一或雙方的私鑰。對稱加密也稱為常規加密、私鑰或單鑰加密。對稱加密的安全使用有如下兩個要求:*需要一個強加密算法:不能借助獲得的很多明文密文對破譯密文或解出密鑰。*收發雙方必須通過一個安全的方式獲得密鑰并保證密鑰安全。對稱密鑰的性質:對稱密鑰的安全取決于密鑰的保密性而非算法的保密性,即通常認為在已知密文和加密/解密算法的基礎上不能破譯消息。算法不需要保密也意味著生產商能開發出實現數據加密算法的低成本芯片。使用對稱密碼是的主要安全問題一直都是密鑰的保密性。密碼體制一般從三個不同的方面進行分類:*明文轉換成密文的操作類型:所有加密算法都基于兩個通用法則,最基本的要求是沒有信息丟失,即所有的操作都可逆。1)替換:明文的每個元素(比特、字母、一組比特或字母)都映射到另外一個元素;2)排列組合:明文的元素都被重新排列。大多數體制都包括了多級替換和排列組合,稱為乘積體制。*使用的密鑰數:若收發雙方都是用同一密鑰,該體制就是對稱、單鑰、私鑰或傳統加密。若收發雙方使用不同的密鑰,該體制就是不對稱、雙鑰、公鑰加密。*明文的處理方式:分組密碼blockcipher一次處理一個輸入元素分組,產生與該輸入分組對應的一個輸出分組。流密碼streamcipher在運行過程中連續的處理輸入元素,每次列入一個輸出元素。試圖找出明文或者密鑰的工作稱為密碼分析或破譯。基于攻擊者掌握的信息量,表2.1概括了各種攻擊類型。最困難的是所掌握的信息只有密文的情況,即唯密文情況。在某些情況下,甚至加密算法都是未知的,但一般可以假設攻擊者確實知道加密算法。在這些條件下一種可能的攻擊是嘗試所有可能的密鑰的窮舉的方法。若密鑰空間非常大,這種方法就不可行。因此,攻擊者必須依靠對密文本身的分析,通常是對他進行各種統計測試。要使用這個方法,攻擊者必須對隱蔽明文的類型有一個大致的了解,列入英文文本、可執行文件、Java源代碼清單、會計文件,等等。唯密文攻擊是最容易抵抗的,因為攻擊者掌握的信息量最少。但是,在很多情況下,攻擊者有更多的信息。攻擊者在知道加密算法的同時還可能得到一個或多個明文,或者可能知道在消息中會出現的特定明文模式。如Postscript格式文件通常用同樣的開頭模式,電子資金轉賬消息可能有一個標準的標題或標語,等等。攻擊者基于已知明文轉換方式也許能夠推出密鑰。和已知明文攻擊很相近的攻擊是所謂的可能字攻擊。如果攻擊者跟蹤一些非常特定的信息,那么消息的某些部分可能是已知的。如會計文件標題里特定關鍵字的位置,源程序的某個標準化位置包含版權聲明。若攻擊者能夠得到源碼系統,在其中插入自己的選定的消息,那么就可能做出選擇明文的攻擊。選擇密文和選擇文本這兩種攻擊類型在密碼破譯中是不常用的。只有相對較弱的算法才不能抵擋唯密文攻擊。一般的,加密算法被設計成能抵擋已知明文攻擊。當加密方案產生的密文滿足下述條件之一或全部條件時,則稱該加密方案是計算安全的:?破解密文的代價超過被加密信息的價值。?破解密文需要的時間超出信息的有用壽命。但是,成功破譯密文需要付出的努力使很難定量評估的。假設算法沒有固有數學特點,那么就只剩下窮舉攻擊方法了,并且我們能夠對其成本和時間做合理的評估。窮舉方法嘗試所有可能的秘鑰直到把密文翻譯成可理解的明文,平均而言,一般必須嘗試所有可能秘鑰的一半才能成功。Feistel結構是所有對稱分組密碼都使用的更通用結構的一個特例。通常,一個對稱分組密碼包含一系列輪迭代,每輪都進行由秘鑰值決定的替換和排列組合。對稱分組密碼的具體操作取決于以下參數和設計屬性:?分組大小:越大的分組意味著越高的安全性(所有其他條件都相同),但減小了加密/解密速率。128比特大小的分組是一個合理的折中并且幾乎是近來分組密碼設計的普遍選擇。?秘鑰大小:越長的秘鑰意味著越高的安全性,但也許會減小加密/解密速率。線代算法最普遍的密鑰長度為128比特。?迭代輪數:對稱分組密碼的本質是單輪處理不能提供充分的安全性,多輪處理能提供更高的安全性。迭代輪數的典型大小是16。?子秘鑰產生算法:此算法復雜度越高,密碼破譯難度就越高。?輪函數:同樣,越高的復雜度意味著對破譯越高的阻力。在對稱分組密碼設計中,還有兩個其他的考慮因素:?快速軟件加密/解密:在很多情況下,密碼通過這種方法嵌入在應用或實體模塊中以避免用硬件實現。因此,軟件執行速度成為一個重要因素。?容易分析:盡管希望算法盡可能的難以攻破,但是算法容易分析有很大的好處。以為,若算法能被簡明清楚地解釋,則容易分析該算法的弱點并因此給出對其強度更高級別的保障。例如,DES不具有容易分析的性質。對稱分組密碼的解密本質上和加密過程相同,規則如下:?使用密文作為算法的輸入,但是反序使用子秘鑰Ki?即在第一輪迭代使用Kn,第二輪使用Kn1,依次類推直到最后一輪迭代使用K1最常用的對稱加密算法是分組密碼。分組密碼處理固定大小的分組明文輸入,且對每個明文分組產生同等大小的密文分組。三個重要的對稱分組密碼:DES,3DES和AES最終結論:若對加密算法能進行的唯一攻擊形式是窮舉方法,則抵抗這類攻擊的方法就是使用更長的秘鑰。3DES有兩個吸引人之處:?168bit的密鑰長度克服了DEA對付窮舉攻擊的不足。?3DES的底層加密算法和DEA相同,而這個算法比任何其他算法都經過了更長時間、更詳細的審查,除窮舉方法以外沒有發現任何有效的基于此算法的攻擊。3DES的基本缺陷:算法軟件運行相對較慢;DEA和3DES都使用64bit大小的分組。處于效率和安全原因,需要更大的分組。因此,2001年11月NIST評估并選擇了比利時密碼學家JoanDaemen和VincenRijimen開發的Rijndael作為AES的算法。隨機性。驗證一個序列是否隨機的標準:?均勻分布:在一定次序或者系列上的比特的分布要均勻分配;1和0出現的頻率必須大致相同。?獨立:在同一序列上,沒有一個數字能影響和干涉其他數字。許多標準能夠被用來解釋一個序列是否不呈現出獨立性。不可預測性。在一個真正的隨機數列中,每個統計出的數字將會獨立于其他數字,因此這個數字是不可預測的。但是,真正的隨機數字不能總被使用;有效的隨機源(稱為熵源)本質上是從計算機的物理環境上得到的,并且包含了按鍵時序特性,磁盤的電氣活動,鼠標移動和瞬間的系統時鐘。單個源或多個源的組合作為一個算法的輸入來產生隨機二進制數輸出,偽隨機數發生器:用來生成開路型比特流的算法稱為PRNG。開路型比特流的常見應用是作為輸入端來輸入對稱的密碼流。偽隨機函數(PRF):用來生產一些固定長度的偽隨機比特串,例如對稱的加密秘鑰和隨機數。典型的PRF采用種子加上上下文中特定的價值作為輸入,例如用戶名ID和應用ID。除了產生的比特數不同,PRNG和PRF之間沒有區別。相同的算法能被雙方所應用。兩者都需要一個種子,并且雙方都必須滿足呈現出隨意性和不可預測性。另外,一個PRNG應用也可以運用上下文特定的輸入。分組密碼blockcipher每次處理一個輸入元素分組,并為每個輸入分組產生一個輸出分組。流密碼streamcipher連續處理輸入元素,在運行過程中,一次產生一個輸出元素。典型的流密碼一次加密一個字節的明文,盡管流密碼可能設計成一次操作一個比特或比字節大的單位。若偽隨機數生成器設計合理,對同樣的密鑰長度,流密碼和分組密碼一樣安全;流密碼的主要優點是幾乎總是比分組密碼更快,使用更少的代碼。分組密碼的優點是可以重復使用秘鑰。但是如果兩個明文使用同一秘鑰進行流密碼加密,密碼破譯常常會非常容易;若把這兩個密文異或,結果就是原始明文的異或值,既然若知道其中一個密文的原始明文就可以知道另外一個密文的原始明文了。對于需要加密/解密數據流的應用(數據通信信道或瀏覽器/網絡鏈路),流密碼可能是更好地選擇。而對于處理數據分組的應用(如文件傳遞、Email、數據庫),分組密碼可能更合適。但是,這兩種密碼都可以在幾乎所有的應用中使用。分組密碼一次處理一個數據分組°DES和3DES的分組長度b=64bit,而AES的b=128bit。對于較長的明文,需要將明文分解成b-bit的分組,需要時還要填充最后一個分組。針對不同應用使用一個分組密碼是,NIST在SP800-38A中定義了五種工作模式。最簡單的一種使用方式就是所謂的電子密碼本模式:明文一次被處理b-bit,而且明文的每個分組都使用同一秘鑰加密。之所以使用術語密碼本,是因為對于給定的秘鑰,每個b比特的明文分組都對應唯一的密文。在ECB中,若同一64bit的明文分組在消息中出現了多次,則它總是產生相同的密文。因此,對于過長的消息,ECB模式可能不安全。若消息高度結構化,密碼破譯者很可能研究出這些規律。為了克服ECB的安全不足,需要有一種技術,似的其中如果重復出現同一明文分組,則也將產生不同的密文分組。在密碼分組鏈接(CBC)模式中,加密算法的輸入是當前明文分組與前一密文分組的異或;每個分組都使用同一秘鑰,實際上,明文分組序列的處理鏈接在一起。每個明文分組的加密函數的實際輸入和明文分組之間的關系不固定。因此,64bit的重復模式并不會被暴露。解密時,用解密算法依次處理每個密文分組,將其結果與前一密文分組進行異或,產生明文分組。為了產生第一個密文分組,將一個初始向量(IV)和第一個明文分組進行異或。解密時,將IV和解密算法的輸出進行異或來恢復第一個明文分組。發送者和接收者都必須知道IV。為了提高安全性,IV需要像秘鑰一樣進行保護。這可以通過使用ECB加密傳送IV來完成。要保護IV的一個理由:若攻擊者成功愚弄接收者使其使用一個不同的IV值,則攻擊者就能夠改變第一個明文分組的選定比特。密碼反饋(CFB)模式能將任意分組密碼轉化為流密碼。流密碼不需要把消息添加為分組的整數倍。它還能實時操作。因此,若傳送字符流,使用面向字符的流密碼,每個字符都能被及時地加密并傳送。流密碼的一個特性是密文和明文長度相等。解密時,使用同樣的方案,不同的是將接收到的密文單元和加密模塊的輸出進行異或得到明文單元。注意:這里使用的是加密函數不是解密函數。加密時,計數器被加密然后與明文文本分組(block)異或來生產密碼分組。這里沒有鏈接,當解密時,相同序列的計數器值與密文異或來恢復相對應的明文分組block。CTR模式的優點如下所述:硬件效率:不同于鏈接模式。加密(或解密)能夠在CTR模式下,在多個不同明文或密文分組block上并行運行。在鏈接模式中,算法必須在下一個block開始之前完成在這個block上的計算,這限制了算法的最大吞吐量,在CTR模式中,吞吐量僅僅受并行程度限制。軟件效率:類似地,因為在CTR模式中并行執行的機會,支持并行的處理器都能被有效的利用。預處理:基礎加密運算法則的實施不取決于明文文本或密碼文本的輸入。因此,若有足夠的存儲器和可保證的安全性,預處理能夠用來準備加密箱的輸出,能夠連接上fig2.12中的XOR功能。當明文文本或密碼文本輸入端已經展示出,然后僅需要進行一些列的XOR操作。這個策略極大地促進了吞吐量。隨機存取:第i個明文文本block或密碼block能夠在隨機存取方式中被處理。鏈接模式中,塊Ci不能被計算出直到第i-1個先行塊被計算出來。也許有一些應用能夠存取一些密碼文本,并且僅用來解釋一個塊;在這個應用中,隨機存取特征是有吸引力的。可證明的安全性:它能夠表明CTR至少和本章中討論的其他模式一樣安全。簡單性:不同于ECB和CBC模式,CTR模式需要對加密算法的執行,但是,不需要解密算法的執行。這一點在加解密算法彼此不同時尤為關鍵,比如AES。另外,解密密鑰的安排調度不需要執行。加密可以防止被動攻擊(竊聽),加密的另一個要求是可以阻止主動攻擊(偽造數據和業務),防止這些攻擊的辦法被稱為消息認證。當消息、文件、文檔或其他數據集合是真實的且來自合理信源,則稱其為可信的。消息認證是一種允許通信者驗證所收信息是否可信的措施。認證包括兩個重要方面:驗證信息的內容有沒有被篡改和驗證信源是否可信(為簡單起見,統稱消息認證,既表示被傳輸消息的認證,也表示存儲數據的認證)。我們還可以希望驗證消息的時效性(消息有沒有被人為的延遲或重放)以及兩實體之間消息流的相對順序。三種無需保密的消息認證情況:(1) 許多應用需要把相同的消息廣播到多個目的地;(2) 在信息交換中,另一種可能的情況是通信某一端的負載太大,沒時間解密所有傳入的消息;如果消息中包含序列號(如X2

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論