1. 程式人生 > >網絡安全知識與算法了解

網絡安全知識與算法了解

通訊 發現 傳輸 陌生 證書 不一致 問題解決 可能 錯誤

網絡安全知識

網絡安全出現背景

     網絡就是實現不同主機之間的通訊。網絡出現之初利用TCP/IP協議簇的相關協議概念,已經滿足了互連兩臺主機之間可以進行通訊的目的,雖然看似簡簡單單幾句話,就描述了網絡概念與網絡出現的目的,但是為了真正實現兩臺主機之間的穩定可靠通訊,其實是一件非常困難的事情了,如果還要再通訊的基礎上保證數據傳輸的安全性,可想而知,絕對是難上加難,因此,網絡發明之初,並沒有太關註TCP/IP互聯協議中的安全問題。
    對於默認的兩臺主機而言,早期傳輸數據信息並沒有通過加密方式傳輸數據,設備兩端傳輸的數據本身實際是明文的,只要能截取到傳輸的數據包,就可以直接看到傳輸的數據信息,所以根本沒有安全性可言。
    早期利用明文方式傳輸的協議有:FTP、HTTP、SMTP、Telnet等。

網絡安全涉及的問題

網絡安全問題-數據機密性
在網絡傳輸數據信息時,對數據的加密是至關重要的,否則所有傳輸的數據都是可以隨時被第三方看到,完全沒有機密性可言。
網絡安全問題-數據完整性問題
網絡傳輸數據的完整性,也是安全領域中需要考慮的重要環節,如果不能保證傳輸數據的完整性,那傳輸過程中的數據就有可能被任何人所篡改,而傳輸數據雙方又不能及早的進行發現。將會造成互連通訊雙方所表達信息的意義完全不一致。因此,對於不完整的數據信息,接收方應該進行相應判斷,如果完整性驗證錯誤,就拒絕接收相應的數據。
網絡安全問題-身份驗證問題
網絡中傳輸數據時,很有可能傳輸的雙方是第一次建立連接,進行相互通訊,既然是第一次見面溝通,如何確認對方的身份信息,的確是我要進行通訊的對象呢?如果不是正確的通訊對象,在經過通訊後,豈不是將所有數據信息發送給了一個陌生人

網絡安全知識解決問題

網絡安全問題-數據機密性問題解決

a) 利用普通加密算法解決機密性
利用相應算法,對傳輸數據(明文數據)進行加密(密文數據);再利用對應算法,將加密數據解密變為真實數據
優點:實現了數據機密傳輸,避免了明文傳輸數據的危險性。
缺點:利用加密算法,將明文改密文,如果第三方獲得加密算法,即可將傳輸密文再次變為明文

b) 利用對稱加密算法解決機密性(重要的一種加密方式)
對稱加密算法就好比將普通算法的規則手冊放入到了保險櫃裏,只有獲取保險櫃和保險櫃鑰匙才能獲取《算法手冊》
優點:密鑰加密算法計算速度非常快;解決了普通加密算法的安全問題
缺點:加解密過程的安全性完全依賴於密鑰,並且對稱加密密鑰是公開的,當通訊加密對象過多時,無法解決密鑰管理問題。

網絡安全問題-數據完整性問題解決

a) 利用單項加密算法(全網備份數據完整性)
根據數據生成特征碼(數據指紋信息);接收數據方獲取數據信息算出特征碼,驗證是否與發送過來的特征碼一致,若特征碼一致,表示數據完整性沒被破壞;若特征碼不一致,表示數據已被破壞,直接丟棄
擴展說明:
01:不同數據的特征碼(數據指紋信息)是不可能一致的
單項加密算法特征
· 數據輸入一樣,特征碼信息輸出必然相同
· 雪崩效應,輸入的微小改變,將造成輸出的巨大改變
· 定長輸出,無論源數據多大,但結果都是一樣的
· 不可逆的,無法根據數據指紋,還原出原來的數據信息。
優點:有效的解決了數據完整性問題
缺點:沒有考慮中間人攻擊對數據信息的影響

b) 利用單項加密算法(加密特征碼)
利用對稱加密算法對數據加密的同時,也對特征碼進行加密;
接收方擁有和發送方一樣的密鑰,才可以解密加密後的數據和特征碼
而中間人加密的特征碼是沒有辦法讓接收方進行解密的,所以接收方獲取不了特征碼,直接丟棄數據
擴展說明:
01:那麽對稱密鑰如何有效的讓通訊雙方獲取呢
需要進行對稱密鑰協商過程,即通過密鑰交換機制(Internet key exchange IKE)
實現密鑰交換機制的協議稱為diffie-hellman協議

網絡安全問題-身份驗證問題解決

a)利用非對稱密鑰加密算法(公鑰加密算法)
發送方建立私鑰和公鑰,將公鑰發送給接收方,從而實現發送數據方的身份驗證

非對稱加密算法(公鑰加密算法)特征概述:
發送方用自己的私鑰加密數據,可以實現身份驗證(非對稱加密算法的主要用途)
發送發用自己的公鑰加密數據,可以保證數據機密性;但是公鑰加密算法很少用來加密數據,因為加密速度太慢了,因為密鑰長度太長了。
非對稱加密算法彌補了對稱加密算法的缺陷,只要維持一對密鑰即可,不用擁有更多的密鑰信息

網絡安全問題結論:實現網絡安全性,需要解決問題的順序為

1. 解決身份驗證問題
2. 解決數據完整性問題
3. 解決數據機密性問題

網絡安全證書

網絡安全證書的由來

為了實現網絡中通信雙方的身份驗證就需要借助非對稱加密算法,借助私鑰加密特征碼,公鑰解密特征碼的方式,從而實現對通訊發送方的身份驗證,並且通過特征碼的驗證對比,即可完成數據完整性的驗證。因此在整個安全性驗證的過程中,公鑰信息的獲取變的尤為重要,發送方在順利產生出私鑰和公鑰的密鑰對信息後,需要準確將公鑰信息傳輸給請求公鑰信息的接收者,才能正確完成上述所說的驗證工作。

網絡安全證書獲取:通過第三方安全機構

對發送方的公鑰信息進行公正步驟:(借助第三方安全機構)
1)A和B端首先生成自己的公鑰和私鑰的密鑰對,為了使對方能相信自己的公鑰信息,將自己的公鑰信息告知給第三方發證機構,利用第三方機構對自己的公鑰進行公證。第三方機構會制作一個數字證書(機構 編號 以及發證機構的戳),並且第三方機構也要給自己設置一個合法的公鑰和私鑰,並且公鑰設置為第三方機構的公鑰證書。
2)發證機關計算出數字證書數據的特征碼,並用自己的私鑰進行加密,並將加密的信息附加到特征碼後成為數字簽名。
3)A和B兩端獲得公正過的證書信息,並通過證書信息傳遞,得到對方的公鑰。
4)A和B兩端與第三方機構建立連接,獲得第三方證書,通過第三方證書獲得第三方公鑰,利用第三方公鑰只要能解密數字簽名即可。

網絡安全證書包含的內容

目前標準的證書存儲格式是x509,還有其他的證書格式,需要包含的內容為:
    1.公鑰信息,以及證書過期時間 
    2.證書的合法擁有人信息 
    3.證書該如何被使用  
    4.CA頒發機構信息 
    5.CA簽名的校驗碼
互聯網上使用的SSL和TLS證書管理機制均使用x509的格式

網絡安全算法知識總結

對稱加密算法知識總結

對稱加密算法特性是加密和解密使用同一個密鑰,利用對稱算法可以將明文改為密文(加密),密文還原為明文(解密)。
對稱加密算法常見的有:
1.最早期的稱為DES(Data Encryption Standard),是美國國家安全局征集加密算法時,由一個美國公司提出的,是公開可以使用的,使用的是56位的密鑰長度,但是由於計算機的發展,可以使用計算機對56位的密鑰進行暴力破解了,因此DES漸漸不再被使用。
2.一種新的算法,將DES加密後,再進行一次DES加密,然後再進行一次DES,稱為3DES算法,是目前使用比較多的加密算法
更安全的加密算法,AES(高級加密標準)加密算法產生,默認使用128位的加密密鑰,但是也有特殊的AES(AES192 AES256 AES512等),密鑰越長安全性提高的同時,加密效率就會降低,因此應該選擇比較合適的加密算法
3.blowfish加密算法,加密不是按位進行加密的,而是將數據分成大小相同的數據塊進行加密的

單向加密算法知識總結

單項加密算法常見的有:
1.DH加密算法,主要用於密鑰的協商交換
2.MD4 MD5(128)
3.SHA1(160) SHA(192) SHA(256) SHA(384)
4.CRC-32(循環輸出校驗碼),不是加密機制,只是一種校驗機制,不提供安全性,正常加密算法是不允許出現輸入不一樣,輸出一樣的情況,但CRC是可以有這樣情況的,因為CRC只是具有校驗功能,不具有加密功能

非對稱加密算法知識總結

非對稱加密算法可以實現身份認證功能(通過數字簽名實現),數據加密功能,以及現密鑰交換功能。
非對稱加密算法常見的有:
1.RSA,RSA既是一個公司的名稱,也是三個創始人的名稱,RSA既可以加密又可以進行簽名。
2.DSA,只能實現數字簽名功能
3.ELGamal,屬於商業化的加密算法

網絡安全知識與算法了解