【軟考中級】網絡工程師:8.網絡安全

本章考察內容比較廣泛,考題對知識點都會有所涉及。

8.1 網絡安全的基本概念

8.1.1 網絡安全威脅的類型

  1. 竊聽

這種情況發生在廣播式網絡系統中,每個節點都可以讀取數據,實現搭線竊聽、安裝通信監視器和讀取網上的信息等。

  1. 假冒

當一個實體假扮成另一個實體進行網絡活動時就發生了假冒。

  1. 重放

重復一份報文或報文的一部分,以便產生一個被授權效果。(例:隨機數和時間戳)

  1. 流量分析

對網上信息流觀察和分析推斷出網上傳輸的有用信息。(Wireshark)

  1. 數據完整性破壞

有意或無意地修改或破壞信息系統,或者在非授權和不能監測的方式下對數據進行修改。

  1. 拒絕服務DoS

當一個授權實體不能獲得應有的對網絡資源的訪問或緊急操作被延遲時,就發生了拒絕服務。

  1. 資源的非授權使用

即與所定義的安全策略不一致的使用。

  1. 陷門和特洛伊木馬

通過替換系統合法程序,或者在合法程序里插入惡意代碼,以實現非授權進程,從而達到某種特定的目的。

  1. 病毒

隨著人們對計算機系統和網絡依賴程度的增加,計算機病毒已經構成了對計算機系統和網絡的嚴重威脅。

  1. 誹謗

利用計算機信息系統的廣泛互聯性和匿名性散布錯誤的信息,以達到詆毀某個對象的形象和知名度的目的。

8.1.2 網絡安全漏洞

  1. 物理安全性

  2. 軟件安全漏洞

  3. 不兼容使用安全漏洞

  4. 選擇合適的安全哲理

8.1.3 網絡攻擊分類

被動攻擊:攻擊者通過監視所有信息流以獲得某些秘密,典型代表有嗅探、監聽和流量分析。可以基于網絡或基于系統。這是最難被檢測到的一種攻擊,重點是預防。主要手段是加密。

主動攻擊:攻擊者試圖突破網絡的安全防線。這種攻擊涉及數據流的修改或創建錯誤流,主要攻擊形勢有假冒、重放、欺騙、消息篡改和拒絕服務等,重點是檢測而不是預防。手段有防火墻、IDS等技術。

物理臨近攻擊:防止外人隨便出入機房。
內部人員攻擊:詞如其名
分發攻擊:在軟硬件開發出來后和安裝前,將其篡改。

8.1.4安全措施的目標

  1. 訪問控制:確保會話雙方有權限做它所聲稱的事情

  2. 認證:確保雙方掌握的資源與聲稱的一致,手段有身份認證、消息認證。

  3. 完整性:確保接收到的信息和發送的信息一致。

  4. 審計:確保任何發生的交易在事后可以被證實,不可抵賴。

  5. 保密:確保敏感信息不被竊聽。

8.1.5 基本安全技術

  1. 數據加密:數據加密重組數據,確保收發者才能解碼還原信息。

  2. 數字簽名:數字簽名可以證明消息確實是由發送者簽發的,并保證數據/程序的完整性。

  3. 身份認證:密碼、指紋識別、IC卡等

  4. 防火墻:屏障內部網絡和外部網絡

  5. 內容檢查

8.2 現代加密技術

8.2.1 私鑰密碼/對稱密碼體制

密碼分為私鑰和公鑰密碼兩種,而介于私鑰和公鑰之間的密碼稱為混合密碼。

私鑰密碼:又稱為對稱密碼,該體制的特點是加密和解密使用相同的密鑰,消息的收發雙方必須事先通過安全渠道交換密鑰。

優點:加解密速度快、密文緊湊、使用長密鑰時的難破解。
缺點:密鑰分配問題、密鑰管理問題、無法認證源。

常見的對稱密鑰加密算法:DES、3DES、AES、RC4/5、IDEA。

在這里插入圖片描述

8.2.2 公鑰密碼/非對稱密碼體制

公鑰密碼又稱為非對稱加密,就是對數據加密和解密的密鑰是不同的。

優點:密鑰分發方便、密鑰保管量少、支持數字簽名。

缺點:加密速度慢(計算量大,不適合加密大數據)、數據膨脹率高。

每個實體有兩個密鑰:公鑰公開,私鑰自己保存。

公鑰加密,私鑰解密,可實現保密通信。

私鑰加密,公鑰解密,可實現數字簽名。

常見的非對稱加密算法如下:

RSA:512位(或1024位)密鑰,計算量極大,難破解。

Elgamal、ECC(橢圓曲線算法)、背包算法、Rabin、DH等。

8.4.3 混合密碼

混合密碼:發送方用對稱密鑰加密需要發送的消息,再用接收方的公鑰加密對稱密鑰,然后一起發送給接收方,接收方先用自己的私鑰解密得到對稱密鑰,然后用對稱密鑰解密得到明文。

在這里插入圖片描述

8.4.4 國產加密算法-SM系列

《中華人民共和國密碼法》密碼分為核心密碼、普通密碼和商用密碼,實行分類管理。

  • 核心密碼、普通密碼用于保護國家秘密信息,屬于國家秘密,由密碼管理部門依法實行嚴格統一管理。
  • 商用密碼用于保護不屬于國家秘密的信息,公民、法人可用。

國產密碼算法:是指由國家密碼研究相關機構自主研發,具有相關知識產權的商用密碼算法,目前,已經公布的國產密碼算法如下:

在這里插入圖片描述

8.3 Hash加密算法

8.3.1 概述

HASH函數,又稱為雜湊函數、散列函數,其能夠將任意長度的信息轉換成固定長度的哈希值(數字摘要),并且任意不同消息或文件所生成的哈希值是不一樣的。

設h表示hash函數,則它滿足下列條件:

  1. h的輸入可以是任意長度的消息或文件M。
  2. h的輸出的長度是固定的。
  3. 給定h和M,計算h(M)是容易的。
  4. 給定h的描述,找兩個不同的消息M1和M2,使h(M1)=h(M2)是計算上不可行的。

哈希函數的特性有三:

  1. 不可逆性
  2. 無碰撞性
  3. 雪崩效應

常見的Hash算法有:

  1. MD5:以512位數據塊為單位來處理輸入,產生128位的信息摘要,常用于校驗文件完整性。
  2. SHA:以512位數據塊為單位來處理輸入,產生160位的哈希值,比MD5更安全。
  3. SM3國產算法:消息分組長度為512比特,輸出256位的摘要。

8.3.2 Hash算法的應用

第一種,分別對重要文件校驗,使用散列函數生成散列值,由于h和M給定,所以生成的值是固定的,如果變化了就說明不一致。
在這里插入圖片描述
第二種,賬號密碼存儲。生成哈希值時不只是用密碼做材料,而是加入其他信息做材料,比如時鐘時間,即“鹽”。

在這里插入圖片描述
第三種,用戶身份認證。增加一個隨機數R做哈希,MAC=Hash(密碼+R),需要雙方預先知道R值。

MAC:消除中間人攻擊,源認證+完整性校驗。

在這里插入圖片描述

8.4 數字簽名

8.4.1 概述

簽名方用自己的私鑰進行簽名,對方收到后,用簽名方的公鑰進行驗證。

數字簽名算法(公鑰加密算法):RSA、Rabin、ELGamal簽名體制和DSS標準。

數據簽名是用于確認發送者身份和消息完整性的一個加密消息摘要,具有如下特點:

  1. 可信性
  2. 不可偽造性
  3. 不可重新使用性
  4. 不可改變性
  5. 不可抵賴性
  6. 接受者能夠核實發送者的身份。

8.4.2 數字簽名及驗證過程

在這里插入圖片描述

在這里插入圖片描述

8.5 數字證書與CA

8.5.1 概述

我們已經知道發送方A是使用了接收方B的公鑰來進行加密,那么還需要一個步驟即確定接收方的公鑰有效。此處使用的手段是獲取接收方B的數字證書。

數字證書由CA這個機構頒發,主要內容是證書的用戶公鑰,防偽手段是CA的簽名。

在X.509標準中,數字證書的一般格式包含的數據域如下:

  1. 版本號
  2. 序列號
  3. 簽名算法
  4. 發行者
  5. 有效期
  6. 主體名
  7. 公鑰
  8. 發行者ID
  9. 主體ID
  10. 擴展域
  11. 認證機構的簽名

國密算法:

在這里插入圖片描述

8.5.2 PKI體系結構

PKI(Public Key Infrastructure,公鑰基礎設施)

組成部分:

  1. 用戶/終端實體:指將要向認證中心申請數字證書的客戶,可以是個人,也可以是集團或團體、某政府機構等。
  2. 注冊機構RA:負責受理用戶申請證書,對申請人的合法性進行認證,并決定是批準或拒絕證書申請。注冊機構并不給用戶簽發證書。
  3. 證書頒發機構CA:負責給用戶頒發、管理和撤銷證書。
  4. 證書發布系統:負責證書發放,如可以通過用戶自己或是通過目錄服務。
  5. CRL庫:證書吊銷列表,存放過期或者無效證書。
證書的吊銷

用序列號來識別每個證書。CRL中的數據域包括發行者CA的名稱、建立CRL的日期、計劃公布下一CRL的日期以及每個被吊銷的證書數據域(序列號+吊銷日期)。

未到截止日期被吊銷的證書可能是因為用戶的私鑰已經泄露,或者不再由CA來認證。

8.5.3 證書鏈

如果用戶數量很多,通常由多個CA,每個CA為一部分用戶發行和簽署證書。

如果有兩個CA,X1和X2,假設用戶A從CA機構X1獲得了證書,用戶B從X2獲得證書,如果兩個證書發放機構X1和X2彼此間安全交換了公鑰,彼此信任,那么他們的證書可以形成證書鏈。

A通過一個證書鏈來獲取B的公鑰,證書鏈表示為X1《X2》X2《B》
B也能通過相反的證書鏈;來獲取A的公開密鑰:X2《X1》X1《A》

8.6 IPsec原理

8.6.1 虛擬專用網基礎

虛擬專用網(Virtual Privaye Network)是一種建立在公網上的,由某一組織或某一群用戶專用的通信網絡,企業在構建跨境網絡的時候會經常用到這種技術。電信網中的VPN一般是指X.25,幀中繼或ATM虛擬專用線路。

二層:L2TP和PPTP(基于PPP)
三層:IPsec和GRE(加密IP數據報等)
四層:SSL/TLS

實現虛擬專用網關鍵技術:

  1. 隧道技術(Tuneling)
  2. 加解密技術(Encryption&Decryption)
  3. 密鑰管理技術(Key Management)
  4. 身份認證技術(Authentication)

這種技術一般有3種解決方案:

1.內聯網VPN(Intranet VPN),企業所采用的內部虛擬專用網也叫內聯網。傳統的LAN互聯采用租用專線的方式,而這種方式實現比較昂貴,大型企業才能負擔起。

在這里插入圖片描述

2.外聯網VPN(Extranet VPN),企業外部虛擬專用網也叫外聯網VPN,實現企業-用戶的互聯。通過這種方式訪問企業的客戶資源比WEB更快。

在這里插入圖片描述

3.遠程接入VPN(Access VPN),省去了NAS、調制解調器、長途電話費的成本,企業人員如果有遠程辦公的需要,亦或者商家如果希望提供B2C的安全訪問服務,可以采用這種方式。

在這里插入圖片描述

8.6.2 二層技術

PPP協議

PPP協議(Point-to-Point Protocol)可以在點對點鏈路上傳輸多種上層協議的數據包。PPP是數據鏈路層協議,最早是替代SLIP協議用來在同步鏈路上封裝IP數據報的,后來可以承載DECnet、Novell IPX、Apple Talk等協議的分組。PPP是一組協議,包含封裝協議、鏈路控制協議、網絡控制協議三個部分。

PPP協議包含鏈路控制協議LCP和網絡控制協議NCP。

PPP協議可以在點對點鏈路上傳輸多種上層協議的數據包,有校驗位。

在這里插入圖片描述

PPP撥號過程(三個階段):

在這里插入圖片描述

1.鏈路建立。這個階段可以選擇數據壓縮、加密等通信方式。
2.用戶認證。常常使用以下兩種認證協議:PAP、CHAP。

口令認證協議(Password Authentication Protocol,PAP)是一種簡單的明文認證方式。

用戶向NAS提供用戶名和口令,如認證成功,NAS返回應答信息,可能需要重復多次。不安全。

挑戰-握手驗證協議(Challenge Handshake Authentication Protocol,CHAP)是一種3次握手認證協議,并不傳送用戶密碼,而是傳送由這個密碼生成的散列值。首先由NAS向遠端用戶發送一個挑戰口令,包括會話ID和一個任意的挑戰字串(防止重放攻擊)。

客戶端返回經過MD5加密的會話ID、挑戰字符串和用戶口令,用戶名則以明文方式發送。

在這里插入圖片描述
NAS根據認證服務器中的數據對收集到的用戶數據進行有效性驗證,如果認證成功,NAS返回肯定應答,從此連接建立。如果認證失敗,連接終止。

后續的數據傳送階段,還可能隨機地進行多次認證,以減少被攻擊的時間。從方向上來看,這是種單項認證,但這種認證同樣可以應用在雙向認證中。

3.調用網絡層協議。PPP在認證階段完成后,將調用在鏈路建立階段選定的網絡控制協議。

完成后,PPP開始在連接雙方之間轉發數據,每個被傳送的數據報都被封裝在PPP包頭內。如果在階段1選擇了數據壓縮,數據將會在被傳送之前進行壓縮。如選擇加密,則會在傳送之前加密數據。

點對點隧道協議PPTP

PPTP(Point-to-Point Tunneling Protocol)是一種第二層隧道協議,定義了由PAC和PNS組成的客戶端/服務器結構,從而把NAS的功能分解給這兩個邏輯設備,從而支持虛擬專用網。

PAC:PPTP接入集中器(PPTP Access Concentrator,PAC)可以連接一或多條PSTN或ISDN撥號線路,能夠進行PPP操作,并且能處理PPTP協議。它可以與一個或多個PNS實現TCP/IP通信,或者通過隧道傳送其他協議的數據。

PNS:PPTP網絡服務器(PPTP Network Server,PNS)是建立在通用服務器平臺上的PPTP服務器,運行TCP/IP協議,可以使用任何LAN和WAN接口硬件實現。

PPP分組必須先經過GRE封裝后才能在PAC-PNS之間的隧道中傳送。GRE(Generic Routing Encapsulation)是在一種網絡層協議上封裝另外一種網絡層協議的協議。其特點有封裝數據經過加密處理,外部設備不能探測其中內容。

在這里插入圖片描述
其中RRAS相當于PAC/PNS,PPP樁則是經過加密的PPP頭,負載數據在本地和遠程LAN中都是通過IP協議明文傳送的,只有在VPN中進行了加密和封裝。

PPTP協議的分組頭:

在這里插入圖片描述

第2層隧道協議

第2層隧道協議(Layer 2 Tunneling Protocol,L2TP)用于把各種撥號服務集成到ISP(互聯網服務供應商,Internet Service Provider)的服務提供點。L2TP擴展了PPP模型,允許第二層連接端點和PPP會話端點駐在由分組交換網連接的不同設備中。

L2TP報文分為控制報文和數據報文,控制報文用于建立、維護和釋放隧道和呼叫;數據報文用于封裝PPP幀,以便在隧道中傳送。控制報文使用了可靠的控制信道以保證提交,數據報文被丟失后不再重傳。L2TP的分組頭結構如圖:

在這里插入圖片描述
在這里插入圖片描述
在IP網上使用UDP和一系列的L2TP消息對隧道進行維護,同時使用UDP將L2TP封裝的PPP幀通過隧道發送,可以對封裝的PPP幀中的負載數據進行加密或壓縮。

圖為傳輸之前組裝一個L2TP數據報:

在這里插入圖片描述

PPTP與L2TP的比較

小結:PPTP與L2TP都使用PPP協議對數據進行封裝,然后添加附加包頭用于數據在互聯網絡上的傳輸。

他們的不同點有下:

  1. PPTP要求使用IP網絡,L2TP可以使用IP/PVCs/X.25虛電路(VCs)或ATM網絡上使用。
  2. PPTP只能在兩端點間建立單一隧道,L2TP支持在兩端點間使用多個隧道。使用L2TP時用戶可以創建不同的隧道。
  3. L2TP可以提供包頭壓縮,壓縮時系統開銷占用4字節,PPTP則占用6個。
  4. L2TP可以提供隧道驗證,PPTP不支持隧道驗證。但當他們與IPsec同時使用時,則可以由IPsec提供隧道驗證。由此不需要第二層協議上(PPTP/L2TP)驗證隧道。

8.7.3 IPSec

IPsec(IPsecurity)是IETF定義的一組用于加強IP網絡的安全性的協議。它具有以下特點:

  1. 數據完整性(Data Integrity),防止未授權地操作數據。
  2. 認證(Authentication)保證接發的數據相同,保證實際發送者與聲稱一致。
  3. 保密性(Confidentiality),只有預定的接收者知悉內容。
  4. 應用透明的安全性(Application-transparent Security),IPsec的安全頭插入在標準的IP頭和上層協議(類如TCP)之間,任何網絡服務和網絡應用都可以不經修改地從標準IP轉向IPSec,同時,IPSec通信也可以透明地通過現有的IP路由器。
功能

IPSec的功能可以劃分為3部分:

  1. 認證頭(Authentication Header,AH):用于數據完整性認證和數據源認證。但不提供數據保密服務,實現算法有MD5、SHA。
  2. 封裝安全負荷(Encapsulating Security Payload,ESP):提供數據保密性和數據完整性認證,ESP也包括了防止重放攻擊的順序號。加密算法有DES、3DES、AES等。
  3. Internet密鑰交換協議(Internet Key Exchange,IKE):用于生成和分發在ESP和AH中使用的密鑰,IKE也對遠程系統進行初始認證。代表協議有DH。
認證頭

IPSec認證頭支持HMAC-SHA1和HMAC-MD5兩種認證算法,前者有128位密鑰,而后者有160位密鑰。

IPSec支持兩種模式:傳輸模式和隧道模式,傳輸模式中,IPSec認證頭插入原來的IP頭之后,IP數據和IP頭用來計算AH認證值。IP頭中的變化字段(如跳步計數和TTL字段)在計算之前置為0,所以變化字段實際上沒有被認證。

在這里插入圖片描述

在隧道模式中,IPSec用新的IP頭封裝了原來的IP數據報(包括原來的IP頭),原來IP數據報的所有字段都經過了認證。

在這里插入圖片描述

封裝安全負荷

IPSec封裝安全負荷提供了數據加密功能,ESP利用對稱密鑰對IP數據(例如TCP包)進行加密,支持3種加密算法:

  1. DES-CBC(Data Encryption Standard Cipher Block Chaining Mode):56位密鑰。
  2. 3DES-CBC(三重DES CBC):56位密鑰。
  3. AES128-CBC(Advanced Encryption Standard CBC):128位密鑰。

在傳輸模式IP頭沒有加密,只對IP數據進行了加密。

在這里插入圖片描述
在隧道模式,IPSec對原來的IP數據報進行了封裝和加密,加上了新的IP頭,如果ESP用在網關中,外層的未加密頭包含網關的IP地址,而內層加密了的IP頭包含真實的源和目標地址,這樣可以防止偷聽者分析源和目標之間的通信量。

帶認證的封裝安全負荷

ESP加密算法本身沒有提供認證功能,不能保證數據的完整性,但是帶認證的ESP可以提供數據完整性服務,以下兩種方法可以提供認證功能:

1.帶認證的ESP。IPSec使用第一個對稱密鑰對負荷進行加密,然后使用第二個對稱密鑰對經過加密的數據計算認證值,并將其附加在分組之后:

在這里插入圖片描述
2.在AH中嵌套ESP。ESP分組可以嵌套在AH分組中,例如一個3DES-CBC ESP分組可以嵌套在HMAC-MD5分組中,如圖:

在這里插入圖片描述

Internet密鑰交換協議

IKE實際上是ISAKMP(Internet Security Association and Key Management Protocol)、Oakley和SKEME(Versatile Secure Key Exchange Mechanism fo Internet Protocol)這三個協議的混合體,提供了認證和密鑰交換的框架。其中,Oakley描述了密鑰交換的模式,而SKEME定義了密鑰交換技術。

在密鑰交換之前要先建立安全關聯(Security Association,SA),SA是由一系列參數(例如加密算法、密鑰和生命期等)定義的安全信道,ISAKMP中,通過兩個協商階段建立SA,這種方法杯稱為Oakley模式。建立過程如下:

  1. ISAKMP第一階段(Main Mode,MM)
    (1)協商和建立ISAKMP SA。兩個系統根據D-H算法生成對稱密鑰,后續的IKE通信都使用該密鑰加密。
    (2)驗證遠程系統的標識(初始認證)。

  2. ISAKMP第二階段(Quick Mode,QM)
    使用由ISAKMP/MM SA提供的安全信道協商一個或多個用于IPSec通信(AH或ESP)的SA。通常在第二階段至少要建立兩條SA,一條用于發送數據,一條用于接收,如圖:

在這里插入圖片描述

8.6.4 安全套接層

安全套接層(Secure Socket Layer,SSL)是Netscape于1994年開發的傳輸層安全協議,用于實現Web安全通信。1996年,SSL3.0協議草案發布,成為事實上的一個Web安全標準。

SSL的基本目標是兩個應用實體之間安全可靠的通信,它分為兩層,底層是SSL記錄協議,運行在傳輸層協議TCP之上,用于封裝各種上層協議,有SSL握手協議,SSL改變密碼協議,SSL警告協議,HTTP。服務器和客戶端進行身份認證,協商通信中使用加密算法和密鑰。

SSL協議棧如圖:

在這里插入圖片描述

SSL和IPSec的區別在于,IPSec工作在三層,即網絡層建立安全隧道。而SSL通過應用層的安全隧道,適用于建立固定的虛擬專用網,而SSL的安全連接是通過應用層的Web連接建立的,更適合移動用戶遠程訪問公司的虛擬專用網。這是因為,SSL不必下載到訪問公司資源的設備上,也不需要端用戶進行復雜的配置,只要有標準的Web瀏覽器就可以使用這個協議了。

HTTPS=HTTP+SSL/TLS,端口443。

會話和連接狀態

SSL會話狀態由下列成分決定:會話標識符、對方的X.509證書、數據壓縮方法列表、密碼列表、計算MAC的主密鑰,以及用于說明是否可以啟動另外一個會話的恢復標識。

SSL連接狀態由以下成分決定:服務器和客戶端的隨機數序列、服務器/客戶端的認證密鑰、服務器/客戶端的加/解密密鑰、用于CBC加密的初始化矢量(IV),以及發送/接收報文的順序號等。

記錄協議

SSL記錄層首先把上層的數據劃分為 2 14 2^{14} 214字節的段,然后進行無損壓縮(任選)、計算MAC并且進行加密,最后發送出去。

改變密碼協議

由客戶或服務器發送,用于通知對方后續的記錄將采用新的密碼列表。

警告協議

SSL記錄層可以發出警告,使得當前的會話失效,避免產生新對話。警告分為關閉連接警告和錯誤警告。

握手協議

會話狀態的密碼參數是在SSL握手階段產生的,當SSL客戶端和服務器開始通信時,它們將先協商(協議版本、加密算法、認證方案、產生共享密鑰的公鑰加密技術):

在這里插入圖片描述

密鑰交換算法

通信中使用的加密和認證方案是由密碼列表(cipher_suite)決定的,而密碼列表則是由服務器通過hello報文進行選擇的。

在握手協議中采用非對稱算法來認證對方和生生成共享密鑰,有RSA、Diffie-Hellman和Fortezza三種算法可以選用。

在使用RSA進行服務器和密鑰交換時,由客戶端生成48字節的前主密鑰值(pre_master_secret),用服務器的公鑰加密后發送出去。服務器用自己的私鑰解密,得到前主密鑰值,然后雙方都把前主密鑰值轉換成主密鑰(用于認證),并刪去原來的前主密鑰值。

Diffie-Hellman算法如圖所示,服務器的數字證書中含有參數(p和g),協商的秘密值k作為前主密鑰值,然后轉換成主密鑰:

在這里插入圖片描述

8.7 應用層安全協議

8.7.1 S-HTTP

S-HTTP其實就是HTTPS。這也是老熟人,他與HTTP消息模型共存,或者集成,提供了HTTP的安全機制。S-HTTP對客戶端和服務器是對稱的,對于雙方的請求和響應做同樣的處理,保留HTTP的事務處理模型和實現特征。

S-HTTP對于HTTP的主要區別在于報文頭,前者的報文體有加密過程。

在這里插入圖片描述

S-HTTP的語法與HTTP一樣,由請求行(Request Line)和狀態行(Status Line)組成,后跟報文頭和報文體(Message Body)。為了與HTTP報文區分,S-HTTP報文使用了協議指示器Secure-HTTP/1.4,這樣S-HTTP報文可以與HTTP報文混合在同一個TCP(80)端口進行傳輸。

現在SSL的應用表現要好于HTTPS,大多數交易均采用傳統的HTTP協議,并使用經過SSL加密的HTTP報文來傳輸交易信息。

8.7.2 PGP

PGP(Pretty Good Privacy)是一種完整的電子郵件加密軟件包,提供數據加密和數字簽名兩種服務,采用RSA公鑰證書進行身份驗證,使用IDEA進行數據加密,使用MD5進行數據完整性驗證。

PGP應用廣泛的原因:

  1. 支持多平臺(Windows,Linux,MacOS)上免費使用,得到許多廠商的支持。
  2. 基于比較安全的算法(RSA,IDEA,MD5)。
  3. 既可以加密文件和電子郵件,也可以用于個人通信,應用集成PGP。

在網絡中部署PGP可分為以下3個步驟:

  1. 建立PGP證書管理中心
  2. 對文檔和電子郵件進行PGP加密
  3. 在應用系統中集成PGP

8.7.3 Kerberos

Kerberos是一項認證服務,支持AAA:認證、授權和審計。

它要解決的問題是:在公開的分布式環境中,工作站上的用戶希望訪問分布在網絡上的服務器,希望服務器能限制授權用戶的訪問,并能對服務請求進行認證。

這樣可能存在這3種威脅:

  1. 用戶偽裝成另一個用戶在操作站;
  2. 用戶可能會更改工作站的網絡地址,使從這個已更改的工作站發出的請求看似來自被偽裝的工作站。
  3. 用戶可能竊聽交換中的報文,并使用重放攻擊進入服務器或打斷正在進行中的操作。

Kerberos可以防止偷聽和重放攻擊,保護數據的完整性。它的安全機制如下:

  • AS(Authentication Server):認證服務器,是為用戶發放TGT的服務器。
  • TGS(Ticket Granting Server):票證授予服務器,負責發喪訪問應用服務器時需要的票證,認證服務器和票據授予服務器組成密鑰分發中心(Key Distribution Center,KDC)。
  • V:用戶請求訪問的應用服務器。
  • TGT(Ticket Granting Ticket):用戶向TGS證明自己身份的初始票據,即 K T G S ( A , K S ) K_{TGS}(A,K_S) KTGS?(A,KS?)

在這里插入圖片描述

  1. 用戶向KDC申請初始票據。
  2. KDC向用戶發放TGT會話票據。
  3. 用戶向TGS請求會話票據。
  4. TGS驗證用戶身份后發放給用戶會話票據 K A V K_{AV} KAV?
  5. 用戶向應用服務器請求登錄。
  6. 應用服務器向用戶驗證時間戳。

時間戳t可以防止重放攻擊。

8.7.4 其他應用層安全協議

  • S/MIME(Security/Multipurppose Internet Mail Extensions)提供電子郵件安全服務。(一定要加S才是安全服務的)
  • SET(Secure Eletronic Transation)安全的電子交易,用于保障電子商務安全。

8.8 防火墻與入侵檢測

8.8.1 防火墻

防火墻可以實現內部網絡信任網絡和外部不可信任網絡(Internet)之間或者是內部網絡不同區域隔離與訪問控制。

防火墻技術與分類:包過濾、狀態化防火墻、應用層網關、應用層監測DPI。

在這里插入圖片描述
防火墻可以依據源和目的IP地址、端口、IP協議號進行過濾,不能過濾負載內容,但軟考雖然答案如此,現在的防火墻基本都支持應用層包檢測(可以檢測負載內容)。

8.8.2 防火墻區域劃分

根據網絡的安全信任程度和需要保護的對象,人為劃分若干安全區域,包括:

  1. 本地區域(Local):防火墻本身。
  2. 信任區域(Trust):內部安全網絡,如內部文件服務器、數據庫服務器。
  3. 非信任區域(Untrust):外部網絡,比如互聯網、
  4. 軍事緩沖區域(DMZ):內部網絡和外部網絡之間的網絡,常放置公共服務設備,向外提供信息服務。

在這里插入圖片描述

在這里插入圖片描述
受信任程度:Local>Trust>DMZ>Untrust
Inbound:低安全級別→高安全級別,比如Untrust→Trust
Outbound:高安全級別→低安全級別,比如DMZ→Untrust

8.8.3 入侵檢測

概述

入侵檢測IDS是防火墻之后的第二道安全屏障,美國國防部提出公共入侵檢測系統架構,其由4個模塊組成。

在這里插入圖片描述

  1. 事件產生器(Event generators,E-boxes),負責數據的采集,并將收集到的原始數據轉換為事件,提供信息給其他模塊。

  2. 事件分析器(Event Analyzers,A-boxes),接收事件信息并對其進行分析,使用以下三種分析方法:(1)模式匹配;(2)統計分析;(3)數據完整性分析。

  3. 事件數據庫(Event Databases,D-boxes),存放有關事件的各種中間結果和最終數據的地方:數據庫、文本文件等。

  4. 響應單元(Response units,R-boxes),根據報警信息做出各種反應。

分類

按信息來源分:HIDS、NIDS、DIDS(主機/網絡/分布式)。

按響應方式分:實時檢測和非實時檢測。

按數據分析技術和處理方式分:異常檢測、誤用檢測和混合檢測。

異常檢測:建立并不斷更新和維護系統正常行為的輪廓,定義報警閾值,超過閾值則報警。
它能夠檢測從未出現的攻擊,但誤報率高。

誤用檢測:對已知的入侵行為特征進行提取,形成入侵模式庫,匹配則進行報警。已知入侵檢測準確率高,對于未知入侵檢測準確率低,高度依賴特征庫。檢測技術:專家系統和模式匹配

入侵防御系統IPS

定義:入侵防御系統是一種搶先的網絡安全檢測和防御系統,能檢測出攻擊并積極響應。

IPS與IDS的不同在于部署位置和入侵響應能力的不同,IPS作為網絡設備串接在網絡中,IDS采用的則是旁路掛接方式。IDS的響應比較單一,即記錄和警報,而IPS設備則可以主動防御,采取丟棄數據報、發送ICMP不可到達數據報,記錄日志,動態生成防御規則等主動方式。

IPS采用的是主動的,全面的,深層次的防御。

在這里插入圖片描述

8.9 計算機病毒基礎

病毒的定義:指一段可執行的程序代碼,通過對其他程序進行修改,可以感染這些程序使其含有該病毒程序的一個拷貝。

病毒的四個階段:

  1. 潛伏階段
  2. 繁殖階段
  3. 觸發階段
  4. 執行階段

病毒的命名規則:<病毒前綴>.<病毒名>.<病毒后綴>

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/444675.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/444675.shtml
英文地址,請注明出處:http://en.pswp.cn/news/444675.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

leetcode9 回文數

判斷一個整數是否是回文數。回文數是指正序&#xff08;從左向右&#xff09;和倒序&#xff08;從右向左&#xff09;讀都是一樣的整數。 示例 1: 輸入: 121 輸出: true 示例 2: 輸入: -121 輸出: false 解釋: 從左向右讀, 為 -121 。 從右向左讀, 為 121- 。因此它不是一個…

caffe各層參數詳解

在prototxt文件中,層都是用layer{}的結構表示,而里面包含的層的參數可以在caffe.proto文件中找到,比如說Data類型的結構由message DataParameter所定義,Convolution類型的結構由message ConvolutionParameter所定義。 具體說明下: name表示該層的名稱type表示該層的類型,…

caffe網絡結構圖繪制

繪制網絡圖通常有兩種方法&#xff1a; 一種是利用python自帶的draw_net.py&#xff0c;首先安裝兩個庫&#xff1a; sudo apt-get install graphviz sudo pip install pydot 接下來就可以用python自帶的draw_net.py文件來繪制網絡圖了。 draw_net.py執行時帶三個參數&…

Git(7)-Git commit

Git提交1.識別不同的提交1.1絕對提交名-ID1.2 引用和符號引用--HEAD2.查看提交的歷史記錄-git log3.提交圖-gitk4.提交的范圍4.1 X..Y4.1 X...Y5.查找bad 提交--git bisect6.查看代碼修改者-git blame命令概覽git commit -a # 直接提交修改和刪除文件有效加了-a&#xff0c;在 …

leetcode111. 二叉樹的最小深度

給定一個二叉樹&#xff0c;找出其最小深度。 最小深度是從根節點到最近葉子節點的最短路徑上的節點數量。 說明: 葉子節點是指沒有子節點的節點。 示例: 給定二叉樹 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回它的最小深度 2. 思路&#xff1a…

Caffe將圖像數據轉換成leveldb/lmdb

Caffe中convert_imageset projrct將圖像數據轉換成Caffe能讀取的數據格式leveldb/lmdb -gray=true //whether read gray image -shuffle=true //whether mix order -resize_height=28 -resize_width=28 -backend=lmdb …

leetcode155. 最小棧

設計一個支持 push&#xff0c;pop&#xff0c;top 操作&#xff0c;并能在常數時間內檢索到最小元素的棧。 push(x) -- 將元素 x 推入棧中。 pop() -- 刪除棧頂的元素。 top() -- 獲取棧頂元素。 getMin() -- 檢索棧中的最小元素。 示例: MinStack minStack new MinStack()…

理解Caffe的網絡模型

目錄 1. 初見LeNet原始模型2. Caffe LeNet的網絡結構3. 逐層理解Caffe LeNet 3.1 Data Layer3.2 Conv1 Layer3.3 Pool1 Layer3.4 Conv2 Layer3.5 Pool2 Layer3.6 Ip1 Layer3.7 Relu1 Layer3.8 Ip2 Layer3.9 Loss Layer 1. 初見LeNet原始模型 Fig.1. Architecture of original …

Git(8)-分支

分支1. 分支名2. 創建分支-git branch3. 查看分支-git show-branch4. 檢出分支4.1 有未提交的修改時進行檢出4.2 合并變更到不同的分支git checkout -m5. 分離HEAD 分支6.刪除分支分支操作命令概覽 git branch # 列出版本庫中的分支 git branch -r # 列出遠程跟蹤分支…

caffe開始訓練自己的模型(轉載并驗證過)

學習caffe中踩了不少坑&#xff0c;這里我參考了此博主的文章&#xff0c;并體會到了如何訓練自己的模型&#xff1a;http://www.cnblogs.com/denny402/p/5083300.html 學習caffe的目的&#xff0c;不是簡單的做幾個練習&#xff0c;最終還是要用到自己的實際項目或科研中。因…

leetcode169. 多數元素

給定一個大小為 n 的數組&#xff0c;找到其中的多數元素。多數元素是指在數組中出現次數大于 ? n/2 ? 的元素。 你可以假設數組是非空的&#xff0c;并且給定的數組總是存在多數元素。 示例 1: 輸入: [3,2,3] 輸出: 3 示例 2: 輸入: [2,2,1,1,1,2,2] 輸出: 2 思路&…

Git(9)-diff

分支1. diff in Linux/Unix2. diff in Git3. git diff 兩點語法Linux/Unix 系統中存在diff 命令&#xff0c;可以用來顯示兩個文本/工作路徑的差異。Git diff 在此基礎上進行的擴展。 1. diff in Linux/Unix Linux 系統中的diff 命令&#xff1a;提供了一個文件如何轉化為另一…

圖像拼接(一):柱面投影+模板匹配+漸入漸出融合

這種拼接方法的假設前提是&#xff1a;待拼接的兩幅圖像之間的變換模型是平移模型&#xff0c;即兩幅圖像同名點位置之間只相差兩個未知量&#xff1a;ΔxΔx 和ΔyΔy&#xff0c;自由度為2&#xff0c;模型收得最緊。所以只有所有圖像都是用同一水平線或者同一已知傾斜角的攝…

圖像拼接(二):OpenCV同時打開兩個攝像頭捕獲視頻

使用OpenCV實現同時打開兩個USB攝像頭&#xff0c;并實時顯示視頻。如果未檢測有兩個攝像頭&#xff0c;程序會結束并發出“攝像頭未安裝好”的警告。這里推薦一個小巧的攝像頭視頻捕捉軟件&#xff1a;amcap&#xff0c;使用它可以方便的檢查每個攝像頭是否能正常工作。 捕獲…

Git(10)-merge

Merge1. 無沖突合并2. 有沖突合并-手動解決3. git diff in merge4. 廢棄合并5. 合并策略merge相關的操作的命令 git checkout master git merge alternate # 解決沖突 ..... git add file_1 git commit -m "Add slternate line 5, 6" git reset --hard HEAD # b…

elasticsearch的Linux下安裝報錯問題解決

1.啟動報錯如下: vim /etc/security/limits.conf 然后修改如下 * soft nofile 65536 * hard nofile 65536sudo vi /etc/pam.d/common-session 添加 session required pam_limits.so sudo vi /etc/pam.d/common-session-noninteractive 添加 session required pam_limits.so…

leetcode120. 三角形最小路徑和

給定一個三角形&#xff0c;找出自頂向下的最小路徑和。每一步只能移動到下一行中相鄰的結點上。 例如&#xff0c;給定三角形&#xff1a; [ [2], [3,4], [6,5,7], [4,1,8,3] ] 自頂向下的最小路徑和為 11&#xff08;即&#xff0c;2 3 5 1 11&#xff0…

Elasticsearchan相關插件和工具安裝

1、下載elasticsearch-head的源碼包 地址&#xff1a;https://github.com/mobz/elasticsearch-head/releases 2、安裝node運行環境 地址&#xff1a;https://nodejs.org/en/download/ 3、安裝完node之后編譯elasticsearch-head 執行npm install -g grunt-cli編譯源碼 執行…

Git(11)-cherry-pick、reset、rebase

更改提交&#xff0c;版本回退1.get reset 重置HEAD指針的指向2.git cherry-pick3.git revert4.git commit --amend修改提交5.git rebase 變基提交5.1 git rebase --onto5.2rebase 產生沖突&#xff0c;解決沖突/終止變基5.3git rebase -i6. rebase Vs mergegit 提供了【修改】…

Elasticsearch集群節點配置詳解

注意&#xff1a;如果是在局域網中運行elasticsearch集群也是很簡單的&#xff0c;只要cluster.name設置一致&#xff0c;并且機器在同一網段下&#xff0c;啟動的es會自動發現對方&#xff0c;組成集群。 三、配置淺涉 elasticsearch的config文件夾里面有兩個配置文件&#…