2010-09-19 60 views
2

只是一個非常普遍的問題,但有人可以告訴我,當我使用openSSL和 當IPSEC保護通過互聯網傳輸數據時?看起來他們兩個都在做同樣的事情,只是在不同的網絡協議層次上。所以 我不是很確定我們爲什麼需要他們兩個。OPENSSL vs IPSEC

歡呼聲爲您的幫助

回答

1

是的,不同級別的網絡協議。一個在OS中執行,另一個在應用程序中執行。

所以兩者都需要的原因:

  • IPSEC能確保所有的流量,包括來自不使用加密的應用程序。但是,雙方都必須使用支持IPSEC的操作系統,並且必須由系統管理員進行配置。

  • SSL可以保護一個應用程序的流量。它不需要使用特定的操作系統,也不需要管理員訪問權限來配置它。

0

你得到了所有錯誤的夥伴...兩臺機器之間的安全通信需要IPSEC。

就像你想發送一個包到其他機器,但你希望沒有人甚至可以確定你正在使用的協議(tcp/udp等),那麼你使用這個IPSEC。並不是所有的事情都有待探索IPSEC。

openssl是你可以說只是一個加密/認證功能庫。

明顯的區別可以理解爲一個小例子。

假設您想要保護兩臺機器之間的流量,以便您創建安全加密數據包,將其發送到其他機器,需要根據安全關聯進行解密。所有這些都是IPSEC協議的一部分。

雖然在發送機器上加密數據包時,您可能已經使用了一些C/Linux函數來加密數據包。這是openssl到位的地方。

類似地,當你捕獲數據包並提取需要的部分時,你可以使用你機器上使用的openssl函數對它進行解密。

我試着解釋它與我最好的...希望它幫助!如果還有任何疑問請清楚!

0

IPSec基於配置文件,該文件在後臺運行並加密兩臺機器之間的所有數據。這種加密基於IP對,發起者和響應者(至少這是他們在我的工作場所使用的配置,或多或少符合標準)。然後對兩臺機器之間的所有IP流量進行加密。沒有顯示流量的類型和內容。它有自己的封裝封裝了整個數據包(包括數據包以前的所有標頭)。然後將數據包解封裝(如果這是一個字)在另一端以獲得完全形成的數據包(而不僅僅是有效載荷)。加密可能使用SSL提供的加密(例如OpenSSL)。

另一方面,SSL對數據進行加密,然後您可以對其進行任何操作。你可以把它放在USB上,然後交給某人,或者保存在本地,以防止數據被竊取或通過互聯網或網絡發送(在這種情況下,數據包本身不會被加密,只有有效載荷,將通過SSL進行加密)。