安全套接層有什麼用?

今天學計算機網路時的遇到的問題。

以下是原話:ftp數據傳輸時用明文傳輸是不安全的,為了安全起見,在ftp與tcp間加入安全套接層 。

安全套接層應該是一種加密演算法,但解密演算法應該是公開的,設計這種方式有什麼意義呢?


先來一個問題熱熱身:大家都知道密碼鎖的工作方式,沒有密碼可以打開嗎?如果是4位密碼,理論上最多需要10000次可以打開,這需要很長的時間;如果是10位的密碼鎖呢?理論上需要10^10 ,即最多10億次嘗試可以打開,這將耗費非常多的時間,這幾乎是不可能完成的事。


同理,加密演算法是公開的,大家都知道其工作方式,但是沒有解密的密鑰,靠暴力破解(Brute Force Break,則需要耗費非常非常長的時間,也許用最快的超級計算機要耗費幾年、幾十年才可以嘗試出密鑰,這也是幾乎不可能完成的事。


FTP/HTTP/SMTP發明出來的時候,網路規模還很小,TCP/IP協議本身不提供任何安全性,也沒有那麼多的依靠網路安全漏洞謀生的組織、個人。但目前卻今非昔比了,沒有安全保護的通信變的越來越無法接受,用戶最直觀的感受是,當瀏覽某網站,會彈開好幾個廣告窗口,這就是因為HTTP 網頁沒有加密,中途被人人為增加了一些廣告頁面。

最初有一個叫網景的公司,在其瀏覽器Netscape增加了安全加密,這個實現安全加密的介面函數稱為SSL(Secure Socket Layer,區別於TCP/IP提供的普通介面函數Socket,應用層協議FTP/HTTP/SMTP通過調用SSL介面函數實現加密,調用普通介面函數Socket不加密。


由於SSL被視為提供端對端安全的一個很流行的方案,IETF在SSL3.0 版本的基礎上,推出標準化的協議TLS ( Transport Layer Security)1.0 版本,兩者工作原理一樣,但無法兼容工作。


應用層數據FTP/HTTP/SMTP會在本地完成加密/MAC,然後封裝起來IP/TCP/SSL/加密數據+ MAC,到達目的地,先解密,後校驗MAC,既保證數據機密,又保證數據不被第三方篡改。


看成安全套了……


看到題目高高興興進來,正準備分享一下人生經歷開一波車的時候,突然發現還有「接層」兩個字……羞射地匿了……


看題目差點跑偏……


你這個問題要分開來看

首先是套接層:
其實這和VPN是一個道理。將原先未加密的明文數據在加密的通道里傳輸,整體來看就算加密通信了。

然後是非對稱加密:
其實非對稱的公私鑰演算法里,加密解密演算法和公鑰都是公開的,只有私鑰是保密的。這個體系以二進位計算機對大質因數分解的絕對低效率為背書,所以並不需要對演算法保密。只要密鑰長度達到時限要求就可以保證安全性。

我的理解是,安全套接層本身只是個通道協議,與其他通道協議的區別是應用了加密演算法以保證通信安全。安全套接層的意義在於,因為是通道協議,在通道里可以承載多種其他協議的數據,使得原本沒有對加密優化的協議也可以被安全地傳輸。


演算法公開但是密碼不公開啊,一把鑰匙開一把鎖


演算法公開你就能破解開來?
你學計算機網路,那你告訴我rsa怎麼破...
你真不是釣魚?


ftp對應的安全協議是ftps,其實就是加了一層ssl,通過通訊雙方協商會話密鑰加密傳輸通道


其實我就是進來看看啥是 安全套--接層


推薦閱讀:

通過軟/硬體技術可以做到真正的IP偽造嗎?
在facebook註冊的賬號被禁用了怎麼解決?
OSI七層模型中,每一層的數據包都是誰生成和解包的?
計算機網路中信息傳輸的安全是如何保障的?
HTTPS可以防止中間人篡改內容嗎?

TAG:網路安全 | SSL | 計算機網路 |