網絡安全

作者:郭無心
鏈接:https://www.zhihu.com/question/19816240/answer/63371634
來源:知乎
著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。

在當前世界中,網絡已成爲不可或缺的元素。它將原來遙不可及的事物,方便快捷的聯繫到一起。爲了充分利用網絡所帶來的便捷,越來越多的企業選擇將信息發佈在網絡上。電子商務、物聯網、雲計算與服務,也都在計劃與實施中。與此同時,網絡的普及,也給信息安全帶來了挑戰。如何保證信息在不可靠網絡中的安全傳輸,成爲企業 IT 實施優先考慮的問題。

SSL 是指安全套接字(Secure Socket Layer),是應用最爲廣泛的安全協議。它在 TCP/IP 協議之上提供了一條安全通道,可以保證在不安全網絡環境下的數據安全。它支持各種加密算法、數字簽名、數字證書,可以防禦常見的網絡攻擊。WebSphere MQ 對 SSL 具有很好的支持,從而保證消息在網絡中安全的傳送。本文在介紹 SSL 的基礎上,以實例方式詳細描述瞭如何在 MQ 中實現基於 SSL 的安全傳輸。文章中的實例,主要基於 MQ 7.0.1.9,同時也會介紹新版本 MQ 7.1 及 MQ 7.5 的變化。


網絡攻擊類型及應對策略

網絡將數以千萬計的機器連接在一起,環境複雜多變,所以網絡攻擊也是花樣百出。這裏,根據攻擊對消息產生的影響,主要可以劃分爲三類:竊聽、篡改、仿冒。這三種攻擊方式,分別會破壞消息的私密性、完整性和通信雙方的互信。針對這些攻擊的特點,SSL 提供了可靠的防禦策略


1)竊聽與加密

竊聽即偷聽別人的談話,在網絡中意味着攔截消息並偷看其中的內容。那麼,爲了避免消息被別人竊聽,就需要對消息進行加密。這樣,即使消息被攻擊者截獲,他們也無法輕鬆獲知其中的內容。

加密即按照一定的規則(加密算法)將原消息(明文)轉化爲對竊聽者不可讀的密文。通信雙方共享加密的規則,所以消息接收者可以將密文再轉回可讀的明文。密鑰是一個隨機字符串,是加密及解密不可或缺的元素。發送者使用密鑰對明文加密,接收者使用密鑰對密文解密。

通信雙方可以共享一個相同的密鑰,用於加密和解密。這稱爲對稱加密或者祕密密鑰加密。這種方法的優勢是速度快,劣勢是難以安全的傳遞密鑰,特別是有很多通信對象時。要安全的將密鑰交到通信方,你需要和每一個人見面。爲了解決這個問題,就出現了不對稱加密或者公共密鑰加密。使用這種方法,每一個通信對象都有一個密鑰對:公鑰和私鑰。發送者使用對方的公鑰加密,接收者使用自己的私鑰解密。因爲公鑰是公開的,這就解決了密鑰傳遞的問題。但是,也造成了一些性能的損失。在實際的應用中,爲了避免密鑰傳遞問題同時保證性能,通常使用不對稱加密來交換密鑰,然後使用對稱加密傳輸數據。

加密是一個非常重要,也非常活躍的研究領域,有非常多的加密算法。例如,數據加密標準(DES),三重 DES,RC2 和 RC4 等


2)篡改與消息摘要

篡改是指攻擊者攔截並修改消息的內容。加密不能避免消息被修改,接收者也無法判斷消息是否被修改過。這裏,就需要用到消息摘要(Message Digest)技術。消息摘要是一個表示消息特徵的定長字符串。它有兩個重要的特徵:不可逆性和抗衝突性。不可逆性是指從消息可以計算出消息概要,但是從消息摘要基本不可能得到消息;抗衝突性是指要想產生具有相同摘要值的兩條消息是相當困難的。這兩個特性,使消息摘要可以用來驗證消息的完整性。發送者使用摘要算法計算出消息摘要,並隨同消息發送給對方;接收者收到消息以後,同樣會根據消息計算出消息摘要 , 並和收到的摘要對比。如果兩者相同,則表示消息沒有被篡改。


在實際應用中,消息摘要很少被單獨使用,通常用於數字簽名和消息認證碼(MAC)消息認證碼是基於消息和密鑰生成的消息摘要。它在驗證完整性同時,可以在一定程度上完成用戶驗證功能。數字簽名是經過加密的消息摘要

(PS:似乎就是消息被篡改了我必須知道,從而發現並處理這個篡改事件)


3)仿冒與數字證書

仿冒即假冒別人進行通信。消息認證碼可以用來驗證消息的發送者。數字簽名則更進一步,具有不可抵賴性。因爲數字簽名是使用發送者私鑰加密的消息摘要,只有發送者才能產生。這一切似乎都很完美,使用加密防止竊聽,使用摘要防止篡改,使用數字簽名防止仿冒,似乎不要什麼數字證書。


事實當然不是這樣,下面的攻擊方式將瓦解以上所有的防線。這就是中間人攻擊(man-in-the-middle attack)。在通信雙方交換公鑰的過程中,攻擊者攔截雙方的公鑰,並將自己的密鑰發送給通信雙方。這樣,通信雙方就會使用攻擊者的密鑰加密。在這樣情況下,所有的加密、簽名都失效了。中間人攻擊細節如下圖所示:

圖 1.中間人攻擊


<img src="https://pic3.zhimg.com/734c42cf32c0e6bd0976d5d59c03f7d6_b.jpg" data-rawwidth="621" data-rawheight="356" class="origin_image zh-lightbox-thumb" width="621" data-original="https://pic3.zhimg.com/734c42cf32c0e6bd0976d5d59c03f7d6_r.jpg">

從上圖可以看出,第 1, 2, 3, 4 步是公鑰交換過程。在此過程中,攻擊者獲得了發送方和接收方的公鑰,而將自己的公鑰發送給通信雙方。第 5, 6, 7, 8 步是發送消息的過程。在此過程中,發送方和接收方都是用攻擊者公鑰加密,而攻擊者截獲數據後重新使用通信雙方公鑰加密,這就使雙方難以察覺攻擊者的存在。

要防範中間人攻擊,就需要使用數字證書,這裏,數字證書主要指由專門的證書頒發機構(CA)授權的證書,稱爲 CA 證書。CA 證書將證書屬主信息和公鑰綁定到一起。證書頒發機構負責驗證證書申請者的身份信息。通過可信的第三方(CA),通信方可以向任何人證明其擁有的公鑰,其他人也可以通過 CA 驗證其證書真僞,這就阻止了中間人攻擊。CA 證書一般包含所有者的公鑰 , 所有者的專有名稱 , 簽發證書的 CA 的專有名稱 , 證書開始生效的日期 , 證書過期日期等信息。

與 CA 證書相對應的,還有自簽署證書。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章