網絡加密包括密碼技術和網絡加密方法兩個方面。
一、?密碼技術
密碼技術一般分為常規密碼和公鑰密碼。
常規密碼是指收信方和發信方使用相同的密鑰,即加密密鑰和解密密鑰是相同或等價的。比較著名的常規密碼算法有DES及其各種變形、IDEA、FEAL、Skipjack、RC4、RC5等。在眾多的常規密碼中影響最大的是DES密碼。
常規密碼的優點是有很強的保密強度,且能經受住時間的檢驗和攻擊,但其密鑰必須通過安全的途徑傳送。因此,其密鑰管理成為系統安全的重要因素。
公鑰密碼是指收信方和發信方使用的密鑰互不相同,而且幾乎不可能從加密密鑰推導解密密鑰。比較著名的公鑰密碼算法有:RSA、,背包密碼、 Mceliece密碼、Diffe與Hellman、零知識證明的算法、橢圓曲線、Elgamal等等。最有影響朗公鑰密碼算法是RSA、它能抵抗到目前 為止已知的所有密碼攻擊。
公鑰密碼的優點是可以適應網絡的開放性要求,且密鑰管理比較簡單,尤其可方便地實現數字簽名和驗證。但其算法復雜,加密數據的速率較低。盡管如此,隨著現代電子技術和密碼技術的發展,公鑰密碼算法將是一種很有前途的網絡安全加密體制。
在實際應用中,人們通常將常規密碼和公鑰密碼結合在一起使用,比如:利用DES或者IDEA來加密信息,而采用RSA來傳遞會話密鑰。
密碼技術是網絡安全最有效的技術之一。一個加密網絡,不但可以防止非授權用戶竊取文件,而且可以驗證文件的真實性。
二、網絡加密方法
一般的數據加密可以用三種方式來實現,即:鏈路加密、節點加密和端到端加密。
1、鏈路加密
對于在兩個網絡節點間的某一次通信鏈路,鏈路加密能為網上傳輸的數據提供安全保證。對于鏈路加密(又稱在線加密),所有信息在被傳輸之前進行加密,在每 一個節點上對接收到的信息進行解密,然后先使用下一個鏈路的密鑰再對信息進行加密,再進行傳輸。在到達目的地之前,一條信息可能要經過許多通信鏈路的傳 輸。
由于在每一個中間傳輸節點信息均被解密后重新進行加密,因此,包括路由信息在內的鏈路上的所有數據均以密文形式出現。這樣,鏈路 加密就掩蓋了被傳輸信息的源點與終點。由于填充技術的使用以及填充字符在不需要傳輸數據的情況下就可以進行加密,這使得信息的頻率和長度特性得以掩蓋,從 而可以防止對通信業務進行分析。
盡管鏈路加密在計算機網絡環境中使用得相當普遍,但它并非沒有問題。鏈路加密通常用在點對點的同步或 異步線路上,它要求先對在鏈路兩端的加密設備進行同步,然后使用一種鏈模式對鏈路上傳輸的數據進行加密,這就給網絡的性能和可管理性帶來了副作用。在線路 /信號經常不通的海外或衛星網絡中,鏈路上的加密設備需要頻繁地進行同步,帶來的后果是數據丟失或重傳。另一方面,即使僅一小部分數據需要進行加密,也會 使得所有傳輸數據被加密。
2、節點加密
節點加密能給網絡數據提供較高的安全性,在操作方式上與鏈路加密相類似:兩者均在通信鏈路上為傳輸的信息提供安全性;都在中間節點先對信息進行解密,然后進行加密。因為要對所有傳輸的數據進行加密,所以加密過程對用戶是透明的。
然而,與鏈路加密不同的是節點加密不允許信息在網絡節點以明文形式存在,它先把收到的信息進行解密,然后采用另一個不同的密鑰進行加密,這二過程是在節點上的一個安全模塊中進行。?
節點加密要求報頭和路由信息以明文形式傳輸,因此這種方法對于防止攻擊者分析通信業務是脆弱的。
3、端到端加密?
端到端加密允許數據在從源點到終點的傳輸過程中始終以密文形式存在。采用端到端加密(又稱脫線加密或包加密),信息在被傳輸到達終點前不進行解密,這樣信息在整個傳輸過程中均受到保護,所以,即使有節點被損壞,也不會使信息泄露。
端到端加密系統價格便宜,更容易設計、實現和維護。端到端加密還避免了其它加密系統所固有的同步問題,因為每個文件包均是獨立被加密的,所以一個文件包 所發生的傳輸錯誤不會影響后續的文件包。此外,從用戶對安全需求的直覺上講,端到端加密更自然些:單個用戶選用這種加密方法,不會影響網絡上的其他用戶。
由于端到端加密系統通常不允許對信息的目的地址進行加密,因此,這種加密方法不能掩蓋被傳輸信息的源點和終點,因此它對于防止攻擊者分析通信業務是脆弱的。
--------------------------------------------------------------------------------------------------
關于王小云破解MD5
首先要說的是為什么需要使用密碼?因為我們通常的通信環境是不安全的。
那什么是不安全的通信環境呢?不安全至少表現在兩個方面:一是通信的內容可能被竊取;二是通信的內容可能被篡改。
通常的密碼使用就是為這解決這兩方面的問題。
常用的密碼有很多種類,其中最常用的是這三種:
1、對稱密碼
2、非對稱密碼
3、摘要
對稱密碼的特點是:加密與解密用相同的密鑰,甚至可能用相同的算法。比如從最簡單的異或,到常用的DES、BLOWFISH、IDEA等。它們通常的用途是這樣的:
發送方將源文(M)用密鑰(K)加密:E=ENC(M,K)
然后將E通過不安全網絡傳給接收方,接收方用相同的密鑰(K)解密:M=DEC(E,K)
只要算法足夠好,并且保管好密鑰(K),就可以保證這種通信是安全的,因為別人即使知道了密文(E)和算法ENC/DEC,也無法知道明文(M)。
對 于這種密碼來說,如果有方法可以從密文(E)和算法ENC/DEC中導到密鑰(K)或明文(M),則意味這種密碼被破解。比如簡單異或算法就可以用統計分 析法簡單地破解掉。但即使是現在被認為不夠安全的DES算法(已經有近三十年歷史了),也需要有大量的明文/密文對(2的數十次方對),并需要大量的計算 時間才能求得其密鑰(K)。
非對稱密碼是因為這樣的原因:因為在對稱密碼中,通信雙方需要約定一個共同的密鑰(K),如果這個約定過程也不安全,就可能出現密鑰的泄露,而對于對稱算法來說,密鑰一旦泄露,之后的通信過程也就不攻自破了。
通常的非對稱密碼就是所謂的公鑰密碼算法,比如現在最常用的RSA(由R.?L.?Rivest和A.?Shamir等人基于大數的因數分解極為困難的原理而創建),或是最近更為時髦的“橢圓曲線”,因為我的數學水平太差,具體算法也說不清楚,只知道大致是這樣的:
顧名思義,它所用的算法特點在于加密與解密用的密鑰是不一樣的。做法大致如下:
發送方自己生成一對密鑰:私鑰(KA)和公鑰(KPA)
接收方也生成一對密鑰:(KB)和(KPB)
其中(KPA)和(KPB)是公開的
發送方用算法:E=ENC(ENC(M,KA),KPB)
進行兩次加密,接收方用算法:M=DEC(DEC(E,KB),KPA)
進行兩次解密,即可得到原文。
而其中雙方都不需要知道對方的私鑰,這就避免了約定密鑰導致的不安全。
非對稱密碼的算法本身又決定了用私鑰加密的內容必須用公鑰才能解,反之亦然,并且算法還保證僅知道公鑰和密文無法導出私鑰,由此決定了通信的安全。
當 然,如果有方法可以從公鑰導出私鑰來,則這種算法即告被破解。但至少目前RSA還是安全的,因為從現在的數學理論上可以證明RSA的算法是一類NPC (NP完備)類問題,只要密鑰足夠長(RSA要求至少是10的100次方以上,實際使用時更要大得多),以現在最先進的計算機來算,其時間成本也是不可能 達到的。
摘要算法則與上面兩種完全不同,前面兩種密碼是用于防止信息被竊取,而摘要算法的目標是用于證明原文的完整性,也就是說用于防止 信息被篡改。通常也被稱為:HASH算法、雜湊算法、簽名算法。它的特點是:從不定長的原文中產生一個固定長度(如MD5是128位)的結果,稱為“簽 名”(S),這個簽名必須對原文非常敏感,即原文即使是有少量的變化,也會導致這個簽名面目全非。比如傳統的CRC或是現在要說的MD5、SHA等都是這 類算法。
摘要算法的用途通常是這樣的:
比如用戶密碼驗證:如Linux或一些論壇用的方法,用戶設置密碼時,服務端只記錄這個密碼的MD5,而不記錄密碼本身,以后驗證用戶身份時,只需要將用戶輸入的密碼再次做一下MD5后,與記錄的MD5作一個比較即可驗證其密碼的合法性。
比 如發布文件的完整性驗證:比如發布一個程序,為了防止別人在你的程序里插入病毒或木馬,你可以在發布這個程序的同時,公開這個程序文件的MD5碼,這樣別 人只需要在任何地方下載這個程序后做一次MD5,然后跟公開的這個MD5作一個比較就知道這個程序是否被第三方修改過。
一個安全的摘要算法在設計時必須滿足兩個要求:其一是尋找兩個輸入得到相同的輸出值在計算上是不可行的,這就是我們通常所說的抗碰撞的;其二是找一個輸出,能得到給定的輸入在計算上是不可行的,即不可從結果推導出它的初始狀態。
反之,如果某種摘要算法不能同時滿足上面兩個條件,則它就是不安全的。其實主要還是前一個條件,因為從理論上很容易證明后面一個條件基本上都是可以滿足的:
摘要算法對任意長的原文產生定長的簽名,按照香農的信息論,當原文的長度超過一定的程度的時候,簽名中就無法記錄原文中的所有信息,這意味著存在著信息的丟失,所以我說理論上不可能從簽名中恢復原文。?
為什么說理論上呢?就是說當這種摘要算法被完全攻破時,也就是說可以從簽名恢復出任意原文,注意:是任意原文,因為所有的摘要算法的特點就是存在著一個無窮大的碰撞原文的集合。而真正的原文只是其中一份。對應這個無窮大的集合來說,這就是一個無窮小.
網絡安全學習路線
對于從來沒有接觸過網絡安全的同學,我們幫你準備了詳細的學習成長路線圖。可以說是最科學最系統的學習路線,大家跟著這個大的方向學習準沒問題。
同時每個成長路線對應的板塊都有配套的視頻提供:
需要網絡安全學習路線和視頻教程的可以在評論區留言哦~
最后
- 如果你確實想自學的話,我可以把我自己整理收藏的這些教程分享給你,里面不僅有web安全,還有滲透測試等等內容,包含電子書、面試題、pdf文檔、視頻以及相關的課件筆記,我都已經學過了,都可以免費分享給大家!
給小伙伴們的意見是想清楚,自學網絡安全沒有捷徑,相比而言系統的網絡安全是最節省成本的方式,因為能夠幫你節省大量的時間和精力成本。堅持住,既然已經走到這條路上,雖然前途看似困難重重,只要咬牙堅持,最終會收到你想要的效果。
黑客工具&SRC技術文檔&PDF書籍&web安全等(可分享)
結語
網絡安全產業就像一個江湖,各色人等聚集。相對于歐美國家基礎扎實(懂加密、會防護、能挖洞、擅工程)的眾多名門正派,我國的人才更多的屬于旁門左道(很多白帽子可能會不服氣),因此在未來的人才培養和建設上,需要調整結構,鼓勵更多的人去做“正向”的、結合“業務”與“數據”、“自動化”的“體系、建設”,才能解人才之渴,真正的為社會全面互聯網化提供安全保障。
特別聲明:
此教程為純技術分享!本教程的目的決不是為那些懷有不良動機的人提供及技術支持!也不承擔因為技術被濫用所產生的連帶責任!本教程的目的在于最大限度地喚醒大家對網絡安全的重視,并采取相應的安全措施
,從而減少由網絡安全而帶來的經濟損失