計算機網絡安全教材_第1頁
計算機網絡安全教材_第2頁
計算機網絡安全教材_第3頁
計算機網絡安全教材_第4頁
計算機網絡安全教材_第5頁
已閱讀5頁,還剩134頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

計算機網絡安全教材第

1章網絡安全概論1.1網絡安全面臨的威脅1.2網絡安全體系結構1.3PDRR網絡安全模型1.4網絡安全基本原則

1.1網絡安全面臨的威脅

物理安全威脅、操作系統的安全缺陷、網絡協議的安全缺陷、應用軟件的實現缺陷、用戶使用的缺陷和惡意程序等6個方面的安全威脅。物理安全威脅1.物理安全問題的重要性

信息安全首先要保障信息的物理安全。物理安全是指在物理介質層次上對存儲和傳輸的信息的安全保護。物理安全是信息安全的最基本保障,是不可缺少和忽視的組成部分。2.主要的物理安全威脅物理安全威脅,即直接威脅網絡設備。目前主要的物理安全威脅包括以下3大類。

自然災害。特點是突發性、自然因素性、非針對性。這種安全威脅只破壞信息的完整性和可用性,無損信息的秘密性。

電磁輻射。這種安全威脅只破壞信息的秘密性,無損信息的完整性和可用性。

操作失誤和意外疏忽(例如,系統掉電、操作系統死機等系統崩潰)。特點是人為實施的無意性和非針對性。這種安全威脅只破壞信息的完整性和可用性,無損信息的秘密性。(1)外部終端的物理安全(2)通信線路的物理安全操作系統的安全缺陷

操作系統是用戶和硬件設備的中間層,是任何計算機在使用前都必須安裝的。目前,人們使用的操作系統分為兩大類:UNIX/Linux系列和Windows系列。下面分別舉例說明這兩大類操作系統中存在的安全缺陷。1.公共缺陷檢索(CommonVulnerabilitiesandExposures,CVE)

大多數信息安全工具都包含一個信息安全缺陷的數據庫,但是,這些數據庫對信息安全缺陷的描述格式各不相同。

CVE是信息安全確認的一個列表或者詞典。它對不同信息安全缺陷的數據庫之間提供一種公共的索引,是信息共享的關鍵。有了CVE檢索之后,一個缺陷就有了一個公共的名字,從而可以通過CVE的條款檢索到包含該缺陷的所有數據庫。CVE有如下幾個特點:①每一種缺陷都有惟一的命名;②每一種缺陷都有惟一的標準描述;③CVE不是一個數據庫而是一種檢索詞典;④CVE為多個不同的數據庫提供一種交流的共同語言;⑤CVE是評價信息安全數據庫的一個基礎;⑥CVE可以通過因特網閱讀和下載;⑦CVE的會員可以給CVE提供自己數據庫的索引信息及其修改信息。2.UNIX操作系統的安全缺陷(1)遠程過程調用(RemoteProcedureCalls,RPC)

遠程過程調用允許一臺機器上的程序執行另一臺機器上的程序。它們被廣泛地用于提供網絡服務,如NFS文件共享和NIS。很多UNIX操作系統的RPC軟件包中包含具有緩沖區溢出缺陷的程序。以下的程序具有緩沖區溢出的缺陷。①rpc.yppasswdd:②rpc.espd:③rpcsd:④rpc.ttdbserver:⑤rpc.bind:

如果系統運行上述程序之一,那么系統就很可能受到RPC服務緩沖區溢出的攻擊。值得注意的是,UNIX的絕大部分版本都具有這個缺陷。解決這個問題的最好方案是全部刪除這些服務。在必須運行該服務的地方,安裝最新的補丁。

(2)Sendmail

Sendmail是在UNIX和Linux操作系統中用得最多的發送、接收和轉發電子郵件的程序。Sendmail在因特網上的廣泛應用使它成為攻擊者的主要目標,過去的幾年里曾發現了若干個缺陷。

Sendmail有很多易受攻擊的弱點,必須定期地更新和打補丁。

3.Windows系列操作系統的安全缺陷(1)UnicodeUnicode是ISO發布的統一全球文字符號的國際標準編碼。它是一種雙字節的編碼。通過向IIS(InternetInformationServer)服務器發出一個包括非法UnicodeUTF-8序列的URL,攻擊者可以迫使服務器逐字“進入或退出”目錄并執行任意腳本,這種攻擊稱為目錄轉換(DirectoryTraversal)攻擊。(2)ISAPI緩沖區溢出

MicrosoftIIS(InternetInformationServer)是在大多數MicrosoftWindowsNT和Windows2000服務器上使用的服務器軟件。在安裝IIS的時候,多個ISAPI(InternetServicesApplicationProgrammingInterface)被自動安裝。ISAPI允許開發人員使用多種動態鏈接庫DLLs來擴展IIS服務器的性能。一些動態鏈接庫,例如idq.dll,有編程錯誤,使得它們進行不正確的邊界檢查。特別是,它們不阻塞超長字符串。攻擊者可以利用這一點向DLL發送數據,造成緩沖區溢出,進而控制IIS服務器。

解決上述問題的方案是如果發現系統具有這種缺陷,則安裝最新的Microsoft補丁。同時,應檢查并取消所有不需要的ISAPI擴展。經常檢查這些擴展是否被恢復。還要記住最小權限規則,系統應運行系統正常工作所需的最少服務。

網絡協議的安全缺陷

TCP/IP是目前Internet使用的協議。

TCP/IP也存在著一系列的安全缺陷。有的缺陷是由于源地址的認證問題造成的,有的缺陷則來自網絡控制機制和路由協議等。這些缺陷,是所有使用TCP/IP的系統所共有的,以下將討論這些安全隱患。1.TCP/IP概述(1)TCP/IP基本結構

TCP/IP是一組Internet協議,不但包括TCP和IP兩個關鍵協議,還包括其他協議,如UDP、ARP、ICMP、Telnet和FTP等。TCP/IP的設計目標是使不同的網絡互相連接,即實現互聯網。

圖1.1TCP/IP基本邏輯結構

IPv4的地址是32bit,目前正在推出IPv6,其地址為128bit。以太網MAC地址是48bit。

TCP/IP層次結構有兩個重要原則:①在同一端點,每一層只和鄰接層打交道,例如,應用程序根本不關心網絡層是怎么轉發包以及數據在哪些網絡上傳輸;②不同端點之間的同一層有對等關系,對等層之間可以進行通信,如應用程序之間的通信,TCP模塊之間的通信等。(2)TCP/IP通信模型通信模型是TCP/IP最基本的模型之一,它描述了端和端之間怎樣傳輸數據。如在圖1.1中,各層模塊之間的連接表示數據流的路線。

TCP/IP提供兩個主要的傳輸協議:TCP和UDP。TCP是一個面向連接的協議,它通過發送和確認機制,保證數據無錯誤傳輸。UDP是無連接的,它只管發送和接收所有的包,不保證數據是否到達。(3)TCP/IP網絡互連模型

TCP/IP的另一個主要功能是實現不同網絡之間的互連。網絡互連功能在網絡層實現,即一個IP模塊連接到兩個不同的物理鏈路層可以實現這兩個網絡之間的互連,如圖1.2所示。圖1.2

一個IP模塊連接兩個網絡

2.TCP序列號預計

TCP序列號預計由莫里斯首先提出,是網絡安全領域中最有名的缺陷之一。這種攻擊的實質,是在不能接到目的主機應答確認時,通過預計序列號來建立連接。這樣,入侵者可以偽裝成信任主機與目的主機通話。正常的TCP連接建立過程是一個三次握手的過程,客戶方取一初始序列號ISNc并發出第一個SYN包,服務方確認這一包并設自己一方的初始序列號為ISNs,客戶方確認后這一連接即建立。一旦連接建立成功,客戶方和服務方之間即可以開始傳輸數據。連接建立過程可以被描述如下:TCP連接建立過程客戶方→服務方:SYN(ISNc)服務方→客戶方:ACK(ISNc),SYN(ISNs)客戶方→服務方:ACK(ISNs)客戶方→服務方:數據和/或者服務方→客戶方:數據3.路由協議缺陷(1)源路由選項的使用在IP包頭中的源路由選項用于該IP包的路由選擇,這樣,一個IP包可以按照預告指定的路由到達目的主機。

但這樣也給入侵者創造了良機,當預先知道某一主機有一個信任主機時,即可利用源路由選項偽裝成受信任主機,從而攻擊系統,這相當于使主機可能遭到來自所有其他主機的攻擊。(2)偽造ARP包偽造ARP包是一種很復雜的技術,涉及到TCP/IP及以太網特性的很多方面,在此歸入ARP的安全問題不是很合適。偽造ARP包的主要過程是,以目的主機的IP地址和以太網地址為源地址發一ARP包,這樣即可造成另一種IPspoof。

這種攻擊主要見于交換式以太網中,在交換式以太網中,交換集線器在收到每一ARP包時更新Cache。不停發spoofARP包可使送往目的主機的包均送到入侵者處,這樣,交換式以太網也可被監聽。解決上述問題的方法是:將交換集線器設為靜態綁定。另一可行的方法是當發現主機運行不正常時(網速慢,IP包丟失率較高),反映給網絡管理員。(3)RIP的攻擊

RIP(RoutingInformationProtocol)是用于自治系統(AutonomousSystem,AS)內部的一種內部路由協議(InternalGatewayProtocol,IGP)。RIP用于在自治系統內部的路由器之間交換路由信息。RIP使用的路由算法是距離向量算法。該算法的主要思想就是每個路由器給相鄰路由器宣布可以通過它達到的路由器及其距離。一個入侵者有可能向目的主機以及沿途的各網關發出偽造的路由信息。(4)OSPF的攻擊

OSPF(OpenShortestPathFirst)協議是用于自治域內部的另一種路由協議。OSPF協議使用的路由算法是鏈路狀態(Link-State)算法。在該算法中,每個路由器給相鄰路由器宣布的信息是一個完整的路由狀態,包括可到達的路由器,連接類型和其他相關信息。

LSA(LinkStateAdvertisement)是OSPF協議中路由器之間要交換的信息。一個LSA頭格式如圖1.3所示。

LS序列號為32bit,用來指示該LSA的更新程度。LS序列號是一個有符號整數,大小介于0x80000001(負值)和0x7fffffff之間。

圖1.3LSA頭格式4.網絡監聽以太網(Ethernet)是網絡結構中,鏈路層和物理層的主要連網方式。由于以太網的工作方式,網絡請求在網上一般以廣播的方式傳送,這個廣播是非驗證的,也就是同網段的每個計算機都可以收到,除了目標接受者會應答這個信息外,其他的接受者會忽略這個廣播。如果有一個網絡設備專門收集廣播而決不應答,那么,它就可以看到本網的任何計算機在網上傳輸的數據。如果數據沒有經過加密,那么它就可以看到所有的內容。Sniffer就是一個在以太網上進行監聽的專用軟件。監聽這個現象對網絡的安全威脅是相當大的,因為它可以做到以下幾點。(1)抓到正在傳輸的密碼。(2)抓到別人的秘密(信用卡號)或不想共享的資料。(3)暴露網絡信息。

5.TCP/UDP應用層服務(1)finger的信息暴露這是由于以下幾點原因。①finger沒有任何認證機制。任何人都可利用finger來獲得目的主機的有關信息。②finger所提供的信息包括用戶名,用戶來自于何處等,這些信息可以用于口令的猜測攻擊,以及信任主機被假冒的攻擊,具有很大的潛在危險。③finger沒有認證,這使得無法辨別一個主機是否在基于“正當的”目的使用finger,這使得用戶即使被攻擊,也無法辨明finger在其中起了多大作用。 解決上述問題的方法是:關掉finger服務,如果有充分理由打開finger服務的話,不妨將finger設為:/bin/cat/etc/something(2)FTP的信息暴露

FTP本身并無安全問題,但幾乎所有的實現都存在如下問題。①FTP一般用戶的口令與登錄口令相同,而且采用明文傳輸。②

一些網點上的匿名FTP提供了另一攻擊途徑。(3)Telnet的安全問題

Telnet本身也并沒有安全問題。它的安全隱患類似FTP的①,只不過要更嚴重一些。由于Telnet是用明文傳輸的,因此不僅是用戶口令,而且用戶的所有操作及其回答,都將是透明的。

(4)POP3的安全問題

由于POP3的口令與賬號的口令相同,在此它存在著類似FTP①的問題,解決方法也是類似的。(5)tftp/bootp的安全問題

tftp允許不經認證就能讀主機的那些被設置成所有人可讀的文件。這將可能暴露系統的賬號、工作目錄等重要信息。

應用軟件的實現缺陷

軟件實現缺陷是由于程序員在編程的時候沒有考慮周全而造成的。軟件缺陷一般可以分為以下幾種類型:

輸入確認錯誤;

訪問確認錯誤;

特殊條件錯誤;

設計錯誤;

配置錯誤;

競爭條件錯誤;

其他。1.輸入確認錯誤

在輸入確認錯誤的程序中,由用戶輸入的字符串沒有經過適當的檢查,使得黑客可以通過輸入一個特殊的字符串造成程序運行錯誤。輸入確認錯誤的另一個子集就是邊界條件溢出。邊界條件溢出指的是程序中的一個變量值超過它自己邊界條件時的程序運行錯誤。

2.訪問確認錯誤

訪問確認錯誤指的是系統的訪問控制機制出現錯誤。錯誤并不在于用戶可控制的配置部分,而在系統的控制機制本身。所以,這樣的缺陷有可能使得系統運行不穩定,但是基本上不能被利用去攻擊系統,因為它的運行錯誤不受用戶的控制。用戶使用的缺陷用戶使用的缺陷體現在以下幾個方面:

密碼易于被破解;

軟件使用的錯誤;

系統備份不完整。1.密碼易于被破解(1)缺省密碼(2)密碼與個人信息有關(3)密碼為詞典中的詞語(4)過短密碼(5)永久密碼2.軟件使用的錯誤除了軟件自身的缺陷以外,軟件的使用錯誤還體現在以下幾個方面。(1)大量打開端口(2)危險缺省腳本(3)軟件運行權限選擇不當3.系統備份不完整

系統是否有備份?

備份間隔是可接受的嗎?

系統是按規定進行備份的嗎?

是否確認備份介質正確地保存了數據?

備份介質是否在室內得到了正確的保護?

是否在另一處還有操作系統和存儲設施的備份(包括必要的licensekey)?

存儲過程是否被測試及確認?惡意代碼

惡意代碼是這幾年比較新的概念。可以說,這些代碼是攻擊、病毒和特洛伊木馬的結合。惡意代碼不但破壞計算機系統(像計算機病毒),給黑客留出后門(像特洛伊木馬),它還能夠主動去攻擊并感染別的機器。1.計算機病毒

計算機病毒是一種計算機程序,它可以寄生在一定的載體上,具有隱蔽性、傳染性和破壞性。計算機病毒的影響對象就是計算機,也就是這個定義中提到的載體,隱蔽性、傳染性和破壞性都是針對計算機而言。2.特洛伊木馬

網絡安全的另一種威脅是特洛伊木馬。與計算機病毒一樣,特洛伊木馬并不是利用系統本身留下的缺陷而是設計者故意創造出來的,用來對系統進行攻擊的一種工具。特洛伊木馬與病毒的不同點在于,病毒的設計目標是破壞系統,而特洛伊木馬的設計目標是遠程控制受害系統。這樣,特洛伊木馬可以直接影響信息的機密性、完整性和可用性。3.惡意代碼

惡意代碼是一種計算機程序,它既有利用系統缺陷的攻擊特性,又有計算機病毒和特洛伊木馬的特性。下面分別討論這3種特性。(1)攻擊特性(2)計算機病毒特性(3)特洛伊木馬特性1.2網絡安全體系結構網絡安全總體框架

可以把信息安全看成一個由多個安全單元組成的集合,其中每一個安全單元都是一個整體,包含了多個特性。一般來說,人們都從3個主要特性去理解一個安全單元,就是安全特性、結構層次和系統單元。安全單元集合可以用一個三維的安全空間去描述它,如圖1.6所示。圖1.6信息安全空間

OSI安全體系結構主要包括三部分內容,即安全服務、安全機制和安全管理。

安全控制安全控制是指在微機操作系統和網絡通信設備上對存儲和傳輸的信息的操作和進程進行控制和管理,主要是在信息處理層次上對信息進行的初步的安全保護,可以分為以下3個層次。(1)微機操作系統的安全控制。(2)網絡接口模塊的安全控制。(3)網絡互連設備的安全控制。

安全服務

OSI安全體系結構定義了一組安全服務,主要包括認證服務、訪問控制服務、數據保密服務、數據完整性服務和抗抵賴服務。1.認證服務認證服務提供某個實體的身份保證。認證服務有對等實體認證和數據起源認證兩種類型,現分述如下。(1)對等實體認證對等實體認證服務就是,在一個實體與實體的連接中,每一方確認對方的身份。

(2)數據起源認證數據起源認證服務就是,在通信的某個環節中,需要確認某個數據是由某個發送者發送的。

2.訪問控制服務訪問控制服務就是對某些確知身份限制對某些資源的訪問。

訪問控制服務直接支持保密性、完整性、可用性和認證的安全性能,其中對保密性、完整性和認證所起的作用十分明顯。

圖1.7

訪問控制服務一般模型

3.數據保密性服務(1)連接保密性數據保密性服務要保證數據在傳輸過程中的保密性。(2)無連接保密性無連接保密性服務保證數據在無連接的一次通信中的保密性。(3)選擇字段保密性(4)業務流保密性

業務流保密性服務保證數據不能通過其流量特征而推斷出其中的保密信息。4.數據完整性服務(1)可恢復的連接完整性(2)不可恢復的連接完整性(3)選擇字段的連接完整性(4)無連接完整性(5)選擇字段的無連接完整性數據完整性服務直接保證數據的完整性。

5.抗抵賴服務抗抵賴服務與其他安全服務有根本的不同。它主要保護通信系統不會遭到來自系統中其他合法用戶的威脅,而不是來自未知攻擊者的威脅。抗抵賴服務包括如下兩種形式。(1)數據起源的抗抵賴(2)傳遞過程的抗抵賴安全需求1.保密性

廣義的保密性是指保守國家機密,或是未經信息擁有者的許可,不得非法泄漏該保密信息給非授權人員。狹義的保密性則指利用密碼技術對信息進行加密處理,以防止信息泄漏和保護信息不為非授權用戶掌握。

2.安全性 安全性標志著一個信息系統的程序和數據的安全保密程度,即防止非法使用和訪問的程度,可分為內部安全和外部安全。內部安全是由計算機網絡內部實現的;而外部安全是在計算機網絡之間實現的。

3.完整性 完整性就是數據未經授權不能進行改變的特性,即信息在存儲或傳輸過程中保持不被修改、破壞和丟失的特性。4.服務可用性服務可用性是一種可被授權實體訪問并按需求使用的特性,即當需要時被授權實體能否存取所需的信息。

5.可控性可控性是一種對信息的傳播及內容具有控制能力的特性。

6.信息流保護1.3PDRR網絡安全模型

一個最常見的安全模型就是PDRR模型。PDRR由4個英文單詞的頭一個字符組成:Protection(防護)、Detection(檢測)、Response(響應)和Recovery(恢復)。這4個部分組成了一個動態的信息安全周期,如圖1.8所示。安全策略的每一部分包括一組安全單元來實施一定的安全功能。圖1.8信息安全策略防護1.風險評估——缺陷掃描風險評估屬于網絡安全防護類型。風險評估就是發現并修補系統和網絡存在的安全缺陷。安全缺陷可以分為兩種,允許遠程攻擊的缺陷和只允許本地攻擊的缺陷。對于允許遠程攻擊的安全缺陷,可以使用網絡缺陷掃描工具去發現。2.訪問控制及防火墻訪問控制技術屬于網絡安全防護類型。3.防病毒軟件與個人防火墻4.數據備份和歸檔5.數據加密數據加密技術是信息安全防護的重要技術。6.鑒別技術鑒別技術也是信息安全防護的重要技術。7.使用安全通信8.系統安全評估標準檢測

PDRR模型的第二個環節是檢測(D)。

檢測和防護有根本性的區別。如果防護和黑客的關系是:“防護在明,黑客在暗”,那么檢測和黑客的關系就是“黑客在明,檢測在暗”。

在PDRR模型中,防護(P)和檢測(D)之間有互補關系。

IDS是一個硬件系統或軟件程序,它的功能是檢測出正在發生或者已經發生的入侵事件,這些入侵已經成功地穿過防護戰線。一個入侵檢測系統有很多特征,其主要特征為:檢測環境和檢測算法。根據不同的特征,入侵檢測系統可以分為不同的類型。響應

PDRR模型中的第三個環節是響應(R)。響應就是已知一個攻擊(入侵)事件發生之后,進行處理。恢復恢復(R)是PDRR模型中的最后一個環節。1.4網絡安全基本原則普遍參與 為了使安全機制更有效,絕大部分安全保護系統要求站點人員普遍參與(或至少沒有反對者)。縱深防御 縱深防御也是一種基本的安全原則,而且不光是針對網絡系統而言的。縱深防御是指不能只依賴單一安全機制,應該建立多種機制。防御多樣化系統可以通過使用大量的不同系統提供縱深防御而獲得額外的安全保護。

阻塞點所謂阻塞點就是設置一個窄通道,在那里可以對攻擊者進行監視和控制。

最薄弱鏈接安全保護的基本原則是鏈的強度取決它的最薄弱鏈接,墻的堅固取決于它的最弱點。

失效保護狀態

安全保護的另一個基本原則就是,在某種程度上系統應該可以做到失效保護。就是說如果系統運行錯誤,那么它們發生故障時會拒絕侵襲者訪問,更不用說讓侵襲者侵入了。

(1)默認拒絕狀態。(2)默認許可狀態。

最小特權

最小特權原則是指一個對象(程序、人、路由器或者任何事物)應該只擁有為執行其分配的任務所必要的最小特權并且絕不超越此限。

簡單化簡單化作為一個安全保護策略有兩個原因:第一,讓事情簡單使它們易于理解,如果不了解某事,就不能真正了解它是否安全;第二,復雜化會為所有類型的事情提供隱藏的角落和縫隙。計算機網絡安全數據安全技術知識點數據加密基本概念和基本加密技術數據壓縮與數據壓縮工具的使用4/21/202581難點

DES加密標準公開密鑰密碼體制數據加密方法的工作原理4/21/202582要求熟練掌握以下內容:傳統和現代的數據加密技術及其基本概念典型的壓縮工具的使用WinZip和WinRAR的使用了解以下內容:數據壓縮的基本原理4/21/202583存放在計算機系統中的數據的安全,每時每刻都受到來自各方面的威脅,這些威脅會破壞數據的完整性和不可用性,數據加密是保護數據的最主要的手段。通過數據加密使原本清晰的數據變得晦澀的難懂,從而實現對數據的保護。4/21/2025841.1數據加密數據加密基本概念數據加密技術典型的對稱密碼技術——替代密碼和換位密碼數據加密標準DES公開密鑰密碼體制——RSA算法RSA算法的應用4/21/2025854.1.1數據加密基本概念1.數據加密技術的歷史起源數據加密技術是一項相當古老的技術,很多考古發現都表明古人會很多奇妙的方法進行加密,早在公元前2000多年前,埃及人就開始使用特別的象形文字作為信息編碼來保護他們的密碼文件;而始于公元前17世紀由克里特島發明的費斯托斯圓盤更是被譽為世界上最難解的十大密碼之一,至今無人能解。早在4000年前,古埃及就開始使用密碼傳遞信息,歷代重大戰爭更是促進了加密技術的發展,1949年,香農發表了《保密系統通信理論》為密碼學奠定了理論基礎,使密碼學成為一門真正的學科。4/21/2025864.1.1數據加密基本概念2.數據加密的基本概念明文P(Plaintext):可以理解的信息原文。加密E(Encryption):用某種方法偽裝明文以隱藏它的內容的過程。密文C(Ciphertext):經過加密后將明文變換成不容易理解的信息。解密D(Decryption):將密文恢復成明文的過程。算法(algorithm):就是用于加密或解密的方法,在現代密碼學中算法就是一個用于加密和解密的數學函數。密鑰K(key):是用來控制加密和解密算法的實現。4/21/2025874.1.1數據加密基本概念如果將加密過程看成是一個數學函數F的話,則密文C可以表示為:C=F(P,K)這個函數具有兩個自變量P和K,在函數F的作用下得到密文。在已知密鑰K1、K2、加密算法E和解密算法D時,則加密和解密過程可以表示如下:EK1(P)=CDK2(C)=P顯然為使明文加密后能被解密必須有:P=DK2(EK1(P)),在實際加密和解密時,根據加密算法的特點,K1與K2的值可以不同,也可以相同。

4/21/2025884.1.2數據加密技術1.對稱密鑰加密技術對稱密鑰加密又稱密鑰加密,加密和解密過程均采用同一把秘密“鑰匙”(密鑰),通信雙方都必須具備這把“鑰匙”,并保證這把“鑰匙”不被泄露。典型代表是數據加密標準DES(數據加密標準)、IDEA(國際數據加密算法)、AES(高級加密標準)等算法。對稱加密算法,有時又叫傳統密碼算法,它的典型特點是:1).采用的解密算法就是加密算法的逆運算,或者解密算法與加密算法完全相同;2).加密密鑰和解密密鑰相同,或者加密密鑰能夠從解密密鑰中推算出來,反過來也成立。

4/21/2025894.1.2數據加密技術2.非對稱密鑰加密技術非對稱密鑰加密算法又叫公開密鑰加密算法,其典型代表是RSA、橢圓曲線加密、NTRU算法等。公開密鑰加密算法中對數據進行加密和解密使用的是一個密鑰對。其中一個用于加密,而另一個用于解密。用于加密的密鑰不同于用作于密的密鑰,而且解密密鑰不能根據加密密鑰計算出來(至少在合理假定的長時間內),所以加密密鑰能夠公開,每個人都能用加密密鑰加密信息,但只有解密密鑰的擁有者才能解密信息。解密密鑰必須嚴格保管。在公開密鑰算法系統中,加密密鑰叫做公開密鑰(簡稱公鑰),解密密鑰叫做秘密密鑰(私有密鑰,簡稱私鑰)。4/21/2025904.1.2數據加密技術下面舉一個典型的使用公鑰密碼體制進行數據傳輸的實例如圖4-3所示。Bob要想從Alice那里接受數據,為了保障數據傳輸的安全性,他決定采用公鑰密碼體制進行傳輸。他首先用一定算法產生一對密鑰(公鑰和私鑰),然后把公鑰傳送出去。Alice收到Bob的公鑰后,用這一公鑰對將要傳送給Bob的數據加密,然后通過網絡傳送給Bob。Bob從網絡上接收到Alice傳過來的加密數據后,用他的私鑰進行解密。最終得到Alice傳送過來的原始明文數據。由于網絡上傳輸的加密數據只有Bob能夠用私鑰解密,如果確保Bob的私鑰不被泄露,那么用公鑰密碼體制就能夠保證數據傳輸的安全性。Alice用Bob的公鑰加密信息Bob用自己的私鑰解密信息加密信息在網絡中傳輸的安全性。

Alice用Bob的公鑰加密信息Bob用自己的私鑰解密信息加密信息在網絡中傳輸4/21/2025914.1.2數據加密技術3.對稱加密體制與公開密鑰體制比較

1)對稱加密體制(1)在對稱加密算法體制中,如果有N個成員,就需要N(N-1)/2個密鑰,這巨大的密鑰量給密鑰的分配和安全管理帶來了困難。(2)在對稱加密算法體制中,知道了加密過程可以很容易推導出解密過程,知道了加密密鑰就等于知道了解密密鑰,可以用簡單的方法隨機產生密鑰。(3)多數對稱加密算法不是建立在嚴格意義的數學問題上,而是基于多種“規則”和可“選擇”假設上。(4)用對稱加密算法傳送信息時,通信雙方在開始通信之前必須約定使用同一密鑰,這就帶來密鑰在傳遞過程中的安全問題,所以必須建立受保護的通道來傳遞密鑰。(5)對稱加密算法不能提供法律證據,不具備數字簽名功能。(6)對稱加密算法加密速度快,這也是對稱加密算法唯一的重要優點,通常用對稱算法加密大量的明文。

4/21/2025924.1.2數據加密技術對稱加密體制與公開密鑰體制比較

2)公開密鑰體制(1)在公開密鑰體制中,每個成員都有一對密鑰(pk、sk)。如果有N個成員,只需要2N個密鑰,需要的密鑰少,密鑰的分配和安全管理相對要容易一些。(2)知道加密過程不能推導出解密過程,不能從pk推導出sk,或從sk推導出pk。或者說如果能推導出來也是很難的,要花很長的時間和代價。(3)容易用數學語言描述,算法的安全性建立在已知數學問題求解困難的假設上。(4)需要一個有效的計算方法求解一對密鑰pk、sk,以確保不能從pk、sk中相互推導。(5)用公開密鑰算法傳送信息時,無需在通信雙方傳遞密鑰。也就不需要建立受保護的信息通道。這是公開密鑰算法最大的優勢,使得數字簽名和數字認證成為可能。公開密鑰算法有著更廣闊的應用范圍。(6)就目前來看,公開密鑰算法加密的速度要比對稱算法慢的多。一般只用公開密鑰算法加密安全要求高,信息量不大的場合。4/21/2025934.1.2數據加密技術對稱加密體制與公開密鑰體制比較

2)公開密鑰體制(1)在公開密鑰體制中,每個成員都有一對密鑰(pk、sk)。如果有N個成員,只需要2N個密鑰,需要的密鑰少,密鑰的分配和安全管理相對要容易一些。(2)知道加密過程不能推導出解密過程,不能從pk推導出sk,或從sk推導出pk。或者說如果能推導出來也是很難的,要花很長的時間和代價。(3)容易用數學語言描述,算法的安全性建立在已知數學問題求解困難的假設上。(4)需要一個有效的計算方法求解一對密鑰pk、sk,以確保不能從pk、sk中相互推導。(5)用公開密鑰算法傳送信息時,無需在通信雙方傳遞密鑰。也就不需要建立受保護的信息通道。這是公開密鑰算法最大的優勢,使得數字簽名和數字認證成為可能。公開密鑰算法有著更廣闊的應用范圍。(6)就目前來看,公開密鑰算法加密的速度要比對稱算法慢的多。一般只用公開密鑰算法加密安全要求高,信息量不大的場合。4/21/2025944.1.3典型的對稱密碼技術——替代密碼和換位密碼1.替代密碼替代密碼又稱替換密碼,就是按照一定要求,將明文中的每個字符替換成另一個字符,明文中字符的位置保持不變,但其本身改變了。包括移位密碼、單表代換密碼和多表帶換密碼。1)、移位密碼凱撒(Caeser)密碼是對英文26個字母進行移位代換的密碼,其q=26。例如,選擇密鑰k=5,則有代換表如表4-2所示。4/21/2025954.1.3典型的對稱密碼技術——替代密碼和換位密碼1.替代密碼替代密碼又稱替換密碼,就是按照一定要求,將明文中的每個字符替換成另一個字符,明文中字符的位置保持不變,但其本身改變了。包括移位密碼、單表代換密碼和多表帶換密碼。1)、移位密碼凱撒(Caeser)密碼是對英文26個字母進行移位代換的密碼,其q=26。例如,選擇密鑰k=5,則有代換表如表4-2所示。4/21/2025964.1.3典型的對稱密碼技術——替代密碼和換位密碼【例4-1】明文:m=Casearcipherisashiftsubstitution密文:c=E(m)=hfxjfwhnumjwnxfxmnkyxzgxynyzynts解密運算為D5=E21,用密鑰k=21的加密表加密就可恢復明文。2)、單表代換密碼:明文中的一個字符用相應的一個密文代替。Abcdefghijklmnopqrstuvwxyzkhwtxysgbpejazmlnofcidvur【例4-2】設明文為:Iamagoodstudent則密文為:bkjklzztofctxaf4/21/2025974.1.3典型的對稱密碼技術——替代密碼和換位密碼2.換位密碼換位密碼(permutationcipher),又稱置換密碼(transpositioncipher),明文的字母保持相同,但順序被打亂了。當矩陣變換密碼的變換矩陣為一置換陣時,相應密碼就是置換密碼,亦稱換位密碼(TranspositionCipher),PermutationCipher是對明文L長字母組中的字母位置進行重新排列,而每個字母本身并不改變。【例4-4】對明文shesellsseashellsbytheseashore進行加密解:對明文shesellsseashellsbytheseashore進行分組加密shesellsseashellsbytheseashore然后將每6個字母重新進行排序得到密文EESLSHSALSESLSHBLEHSYEETHRAEOS再用逆置換解密得到明文。4/21/2025984.1.3典型的對稱密碼技術——替代密碼和換位密碼3)、多表替換密碼:又稱維吉尼亞密碼,這是一種以移位代換為基礎的周期代換密碼,M個移位代換表由m個字母組成的密鑰字確定。【例4-3】明文:wearediscoveredsaveyourself密鑰:deceptivedeceptivedeceptive密文:ZICVTWQNGRZGVTWAVZHCQYGLMGJ其中,密鑰字母a,b,c,y,z對應數字0,1,2,………24,25。密鑰字母d對應數字3,因而明文字母w在密鑰字母d的作用下向后移動3,得到密文字母Z;明文字母e在密鑰字母e的作用下向后移動4,得到密文字母i,以此類推。解密時,密文字母在密鑰字母的作用下前移。但是該算法有沒有缺點呢?因為人們在使用密鑰時通常都是用一個熟悉的單詞、一個句子或一段文字。仍然能夠通過統計技術進行分析。當然這又出現了更高級的多字母代換密碼和輪轉密碼。4/21/2025994.1.4數據加密標準DESDES的發展歷程DES(DataEncryptionStandard)是美國國家標準研究所(AmericanNationalStandardInstitution,ANSI)制定的數據加密算法(dataencryptionalgorithm,DEA)。與此相應的國際標準化組織(InternationalStandardOrganization,ISO)制定的數據加密算法是DEA-1.DES作為一個世界范圍內的標準已經存在了20多年了,盡管它帶有過去的時代特征,但它很好地抵制住了多年的密碼分析,除了可能的最強有力的攻擊外,其他攻擊仍然是安全的。美國國家標準局1973年開始研究除國防部外的其它部門的計算機系統的數據加密標準,于1973年5月15日和1974年8月27日先后兩次向公眾發出了征求加密算法的公告。1977年1月,美國政府頒布:采納IBM公司設計的方案作為非機密數據的正式數據加密標準(DESDataEncryptionStandard)。DES是密碼學歷史上的一大進步,首次形成了密碼體制。DES用途很廣Linux中使用了DES算法,xp系統中使用3DES。4/21/20251004/21/20251014.1.4數據加密標準DESDES的發展歷程DES(DataEncryptionStandard)是美國國家標準研究所(AmericanNationalStandardInstitution,ANSI)制定的數據加密算法(dataencryptionalgorithm,DEA)。與此相應的國際標準化組織(InternationalStandardOrganization,ISO)制定的數據加密算法是DEA-1.DES作為一個世界范圍內的標準已經存在了20多年了,盡管它帶有過去的時代特征,但它很好地抵制住了多年的密碼分析,除了可能的最強有力的攻擊外,其他攻擊仍然是安全的。美國國家標準局1973年開始研究除國防部外的其它部門的計算機系統的數據加密標準,于1973年5月15日和1974年8月27日先后兩次向公眾發出了征求加密算法的公告。1977年1月,美國政府頒布:采納IBM公司設計的方案作為非機密數據的正式數據加密標準(DESDataEncryptionStandard)。DES是密碼學歷史上的一大進步,首次形成了密碼體制。DES用途很廣Linux中使用了DES算法,xp系統中使用3DES。4/21/20251024.1.4數據加密標準DESDES算法描述DES是分組加密算法,它以64位(二進制)為一組,對稱數據加密,64位明文輸入,64位密文輸出。DES是一個對稱算法:加密和解密用的是同一種算法。但是加密和解密是采取的密鑰并不相同。密鑰長度為56位,但密鑰通常表示為64位,并分為8組,每組第8位作為奇偶校驗位,以確保密鑰的正確性,這樣對用戶來說每組密鑰仍是56位。利用密鑰,通過傳統的換位、替換和異或等變換,實現二進制明文的加密與解密。DES所采取的算法比較簡單,只是用了算術和邏輯運算,而且算法所用的數也最多只有64位。因此用70年代末期的硬件技術很容易實現。4/21/20251034.1.4數據加密標準DES4/21/20251044.1.4數據加密標準DESDES算法概要對輸入的明文從右向左按順序每64位分為一組(不足64位時,在高位補0),并按組進行加密或解密。進行初始換位。將換位后的明文分成左、右兩個部分,每部分為32位長。進行16輪相同的變換,包括密鑰變換。DES算法一輪的細節如圖4-5所示。將變換后左右兩部分合并在一起。逆初始變換,輸出64位密文。

4/21/20251054.1.4數據加密標準DES4.DES算法加密過程初始置換:就是對輸入的64位二進制明文按照IP的規則,改變明文P的順序。在第一輪前出現對明文比特移位,例如第58比特位移位至第一位,第50比特位移位至第二位,第7為移至最后一位等等。初始值換表如圖4-3所示。初始置換并不影響DES的安全性,變換完后,原來二進制順序變成了P=P58P50……P7。初始置換表中共有8行8列,64個元素。把上面4行和下面4行分成左L和右R2組。4/21/20251064.1.4數據加密標準DES表4-3初始置換58504234261810260524436282012462544638302214664564840322416857494133251791595143352719113615345372921135635547393123157

4/21/20251074.1.4數據加密標準DES明文分組:將置換后的明文,即新的64位二進制序列,按順序分為左、右兩組L0,R0,每組都是32位。密鑰置換:密鑰置換就是按照表4-4的規則改變密鑰的順序,密鑰置換規則和前面的初始置換規則完全相同,即將原密鑰的第57位換到第1位的位置,將原密鑰第49位換到第2位的位置,第4位換到第56位的位置。置換表中共有56個元素,去掉了原64位密鑰中的奇偶校驗位8、16、32、40、48、56、64這些數。4/21/20251084.1.4數據加密標準DES表4-4密鑰置換574941332517915850423426181025951433527191136052443663554739312315762544638302214661534537292113528201244/21/20251094.1.4數據加密標準DES表4-5每輪密鑰循環左移位數

迭代次數12345678910111213141516左移位數1122222212222221產生子密鑰:合并后的密鑰一方面用于產生子密鑰,另一方面為下次迭代運算作準備。按照密鑰壓縮置換表4-6從56位產生48位子密鑰。實現了密鑰的壓縮。4/21/20251104.1.4數據加密標準DES表4-6密鑰壓縮置換14171124153281562110231912426816727201324152313747553040514533484449395634534642503629324/21/20251114.1.4數據加密標準DES壓縮置換表中共有48位元素。原密鑰的14位,在子密鑰中就是第1位,原密鑰的17位在子密鑰中就是第2位。擴展壓縮:將明文數據的右半部分R從32位擴展成48位,擴展置換按照擴展置換表4-7規則進行。從表4-7中可以看出元數據的第32位被擴展成第1位和第47位,原數據第一位被擴展成第2位和第48位。共有16位進行了擴展,這樣原數據的32位擴展成48位。4/21/20251124.1.4數據加密標準DES表4-7密鑰置換32123454567898910111213121314151617161718192021202122232425242526272829282930313214/21/20251134.1.4數據加密標準DES表4-8DES的S盒替換表S(1)14,4,13,1,2,15,11,8,3,10,6,12,5,9,0,7,0,15,7,4,14,2,13,1,10,6,12,11,9,5,3,8,4,1,14,8,13,6,2,11,15,12,9,7,3,10,5,0,15,12,8,2,4,9,1,7,5,11,3,14,10,0,6,13,S(2)15,1,8,14,6,11,3,4,9,7,2,13,12,0,5,10,3,13,4,7,15,2,8,14,12,0,1,10,6,9,11,5,0,14,7,11,10,4,13,1,5,8,12,6,9,3,2,15,13,8,10,1,3,15,4,2,11,6,7,12,0,5,14,9,S(3)10,0,9,14,6,3,15,5,1,13,12,7,11,4,2,8,13,7,0,9,3,4,6,10,2,8,5,14,12,11,15,1,13,6,4,9,8,15,3,0,11,1,2,12,5,10,14,7,1,10,13,0,6,9,8,7,4,15,14,3,11,5,2,12,4/21/20251144.1.4數據加密標準DES表4-8DES的S盒替換表S(4)7,13,14,3,0,6,9,10,1,2,8,5,11,12,4,15,13,8,11,5,6,15,0,3,4,7,2,12,1,10,14,9,10,6,9,0,12,11,7,13,15,1,3,14,5,2,8,4,3,15,0,6,10,1,13,8,9,4,5,11,12,7,2,14,S(5)2,12,4,1,7,10,11,6,8,5,3,15,13,0,14,9,14,11,2,12,4,7,13,1,5,0,15,10,3,9,8,6,4,2,1,11,10,13,7,8,15,9,12,5,6,3,0,14,11,8,12,7,1,14,2,13,6,15,0,9,10,4,5,3,S(6)12,1,10,15,9,2,6,8,0,13,3,4,14,7,5,11,10,15,4,2,7,12,9,5,6,1,13,14,0,11,3,8,9,14,15,5,2,8,12,3,7,0,4,10,1,13,11,6,4,3,2,12,9,5,15,10,11,14,1,7,6,0,8,13,4/21/20251154.1.4數據加密標準DES表4-8DES的S盒替換表S(7)4,11,2,14,15,0,8,13,3,12,9,7,5,10,6,1,13,0,11,7,4,9,1,10,14,3,5,12,2,15,8,6,1,4,11,13,12,3,7,14,10,15,6,8,0,5,9,2,6,11,13,8,1,4,10,7,9,5,0,15,14,2,3,12,S(8)13,2,8,4,6,15,11,1,10,9,3,14,5,0,12,7,1,15,13,8,10,3,7,4,12,5,6,11,0,14,9,2,7,11,4,1,9,12,14,2,0,6,10,13,15,3,5,8,2,1,14,7,4,10,8,13,15,12,9,0,3,5,6,114/21/20251164.1.4數據加密標準DES【例4-5】S1盒的輸入101110則第一個和最后一個決定行號(行號從0開始):二進制10對應2,b1b6=(10)=2行;中間的數字決定列號(列號從0開始):二進制0111對應7,b2b3b4b5=(0111)=7列;對應S盒的(2,7)元素為11,將11轉換為二進制數1011。所以,當S盒的輸入為101110時,S盒的輸出為1011。

S盒代替是DES算法的核心部分,整個變換過程是非線性的(而DES算法的其他變換都是線性的),提供很好的混亂數據效果,比DES算法的其他步驟都提供了更好的安全性。4/21/20251174.1.4數據加密標準DES9)P盒置換:將S盒輸出的32位二進制數據按P盒置換表4-9進行置換。將S盒輸出的第16位變換成第1位,第1位變成第9位。表4-9P盒置換表167202129122817115232651831102824143227391913306221142510)P盒輸出與原64位數據進行異或運算:將p盒輸出的32位二進制數與原64位數據分組的左半部分L進行異或運算,得到分組的右半部分Ri11)交換Ri-1到Li:將原分組的右半部分Ri-1作為分組的左半部分12)重復:循環操作16輪4/21/20251184.1.4數據加密標準DES13)初始逆置換

表4-10逆初始置換40848165624643239747155523633138646145422623037545135321612936444125220602835343115119592734242105018582633141949175725將16輪的DES運算后,將輸出的L16和R16合并起來,形成64位的二進制數,最后按照初始逆置換表進行逆置換,就可以得到密文。4/21/20251194.1.5公開密鑰密碼體制——RSA算法

1.RSA算法數學基礎定義1:對一個自然數P,如果P只能被1和自身除盡時,則稱P為素數(或質數),否則為合數。定義2:如果整數a與整數b的最大公約數是1,則稱a與b是互為質數。【例4-6】2和3,7和11等都是互為質數。定義3:歐拉函數定義為:φ=r(1-1/P)(1-1/P)···(1-1/P)P、P···P是r的質因子,即公約數。歐拉函數是用來計算1、2、3、···、r中有多個數與r互為質數的。4/21/20251204.1.5公開密鑰密碼體制——RSA算法例4-7】:當r=20時,由于r=2×2×5,即20的公約數是2和5所以:=20×(1-1/2)×(1-1/5)=8即在1~20個整數中有8個與20互質的數,它們是1,3,7,9,11,13,17,19。定義4:兩個整數a、b分別被m除,如果所得余數相同,則稱a與b對模m是同余的,記作:a≡b(modm)4/21/20251214.1.5公開密鑰密碼體制——RSA算法

2.RSA算法基礎1).產生素數產生素數的方法很多,這里介紹的方法是:除2以外所有素數為奇數,由素數的定義決定算法。判斷1~N個數中的n是否為素數時具體算法是:令n從3開始(3是素數);每次增加2,n=n+2(排除了偶數);n被所有小于等于的素數整除若不存在被整除的數,則n為素數4/21/20251224.1.5公開密鑰密碼體制——RSA算法

2.RSA算法基礎2).求最大公約數算法設b、c為整數,b>0,c>0,b>c(使用這個條件不影響算法,但可避免符號問題),b、c的最大公約數記為gcd(b、c)。我們可以利用歐幾里德算法,即重復使用帶余數除法求最大公約數。歐幾里德算法:每次的余數為除數,除上一次的除數,直到余數為0時為止,則上次余數為最大公約數。可以先設b為上次的除數,c為余數,按歐幾里德算法求出gcd(b、c)4/21/20251234.1.5公開密鑰密碼體制——RSA算法

2.RSA算法基礎3)求乘逆算法設已知a,求b,稱求a對于模r的乘逆b,并稱a與b對r互為乘逆。也可以寫成:b=a-1modr求乘逆時也可以利用歐幾里德算法,即重復使用帶余數除法。但與求最大公約數不同,即每次的余數為除數,除上次除數,直到余數為1時為止。4/21/20251244.1.5公開密鑰密碼體制——RSA算法3.RSA算法過程建立一個RSA密碼體制過程如下:選擇兩個隨機大素數p和q;計算模數N=pq和Ф(n)=(p-1)(q-1);選擇一個大于1小于Ф(n)隨機加密密鑰e<N,gcd(e,Ф(N))=1;解同余方程ed=1modФ(n),求解密密鑰d(0<d<N)對每一個密鑰k=(n,p,q,d,e),定義加密變換為Ek(x)=xemodn,解密變換為Dk(x)=ydmodn;公開加密密鑰PK={e,N},保存其解密密鑰SK={d,p,q}

4/21/20251254.1.5公開密鑰密碼體制——RSA算法【例4-8】RSA算法舉例:1.選素數p=47和q=71,得n=3337,((n)=46×70=3220;2.選擇e=79,求得私鑰d=e-1(1019mod32203.公開n=3337和e=79.4.現要發送明文688,計算:68879(mod3337)=15705.收到密文1570后,用私鑰d=1019進行解密:15701019(mod3337)=6884/21/20251264.1.5公開密鑰密碼體制——RSA算法4.RSA算法安全性RSA體制的加密強度依賴于大數分解的困難程度。采用窮舉法,對于兩個100位的十進制大素數,破譯它大約需要1023步,若使用100萬步/秒的計算機資源對其進行破密,約需要1000年。但是,人類的計算能力也在不斷提高,原來一些被認為不可能分解的大數,現在已經被成功分解。例如,RSA-129(即n為129位的十進制數,約428比特),歷時8個月,已經于1994年4月被成功分解。而且有報道,國外科學家正在用量子方法對大

溫馨提示

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

評論

0/150

提交評論