發表日期:2018-11 文章編輯:小燈 瀏覽次數:2360
"SSL/TLS --- 為了更安全的通信"
SSL/TLS是世界上應用最廣泛的密碼通信方法。比如說,當在網上商城中輸人信用卡號時,我們的Web瀏覽器就
會使用SSL/TLS進行密碼通信。使用SSL/TLS可以對通信對象進行認證,還可以確保通信內容的機密性。
SSL/TLS中綜合運用了之前所學習的對稱密碼、消息認證碼、公鑰密碼、數字簽名、偽隨機數生成器等密碼技 術,大家可以在閱讀本章內容的同時對這些技術進行復習。嚴格來說,SSL(Secure Socket Layer)與 TLS(Transport Layer Security)是不同的,TLS相當于是SSL的后續版本。不過,本章中所介紹的內容,大多是 SSL和TLS兩者兼備的,因此除具體介紹通信協議的部分以外,都統一寫作SSL/TLS。
Bob書店是Alice經常光顧的一家網店,因為在Bob書店她可以搜索到新出版的圖書,還可以通過信用卡快速完成 支付,購買的書還能快遞到家,真的很方便。
有一天,Alice 讀了一本關于網絡信息安全的書,書上說“互聯網上傳輸的數據都是可以被竊聽的"。Alice感到非 常擔心,自己在購買新書的時候輸人的信用卡號會不會被竊聽呢?
Alice看到Bob書店的網站下面寫著一行字:“在以https://開頭的網頁中輸人的信息將通過SSL/TLS發送以確保安 全"。
的確,輸人信用卡號的網頁的URL是以 https:// 開頭的,而不是一般的 http://。此外.在瀏覽這個網頁時,Alice 的web瀏覽器上還會顯示一個小鎖頭的圖標,看上去好像挺安全的。
但Alice心想,就算寫著“通過SSL/TLS發送”我也不放心啊,到底在我的Web瀏覽器和Bob書店的網站之間都發生了 哪些事呢?
本章將要介紹的技術一一SSL/TLS就可以解答Alice的疑問。當進行SSL/TLS通信時,Web瀏覽器上就會顯示一個小 鎖頭的圖標。
Alice和Bob書店之間的通信,實際上是Alice所使用的Web瀏覽器和Bob書店的Web服務器之間的通信。Web瀏覽 器是Alice的計算機上運行的一個程序,而web服務器則是在Bob書店的計算機上運行的一個程序,它們都遵循一 種叫作HTTP(Hyper Text Transfer Protocol, 超文本傳輸協議)的協議(protocol)來進行通信。其中,Web瀏覽器 稱為HTTP客戶端,Web服務器稱為HTTP服務器。
當Alice點擊網頁上的鏈接或者輸人URL時,Web瀏覽器就會通過網絡向Web服務器發送一個 “我要瀏覽這個網 頁“,的請求(request)。
Web服務器則將請求的網頁內容發送給Web瀏覽器,以便對請求作出響應(response)。服務器和客戶端之間所 進行的處理就是請求和響應的往復。HTTP可以認為是在HTTP客戶端與HTTP服務器之間進行請求和響應的規 范。
Alice向Bob書店發送信用卡號也是使用HTTP來完成的(下圖)。Alice輸人信用卡號之后按下提交按鈕,這時客 戶端(Web瀏覽器)就會將信用卡號作為HTTP請求發送給服務器。服務器則會將“生成訂單"的網頁作為HTTP響 應返回給客戶端。
不過,如果直接發送請求的話,信用卡號就很可能被竊聽。下一節我們將探討針對這種風險的對策。
什么是SSL,什么是TLS呢?官話說SSL是安全套接層(secure sockets layer),TLS是SSL的繼任者,叫傳輸層安全 (transport layer security)。說白點,就是在明文的上層和TCP層之間加上一層加密,這樣就保證上層信息傳輸的 安全。如HTTP協議是明文傳輸,加上SSL層之后,就有了雅稱HTTPS。它存在的唯一目的就是保證上層通訊安全 的一套機制。
當Web瀏覽器發送信用卡號時,信用卡號的數據會作為客戶端請求發送給服務器。如果通信內容被竊聽者Eve所 竊取,Eve就會得到信用卡號。
于是,我們可以用SSL(Secure Socket Layer)或者TLS(Transport Layer Security)作為對通信進行加密的協 議,然后在此之上承載HTTP(下圖)。通過將兩種協議進行疊加,我們就可以對HTTP的通信(請求和響應)進 行加密,從而防止竊聽。通過SSL/TLS進行通信時,URL不是以http://開頭,而是以https://開頭。
在大致了解了SSL/TLS之后,我們來整理一下SSL/TLS到底負責哪些工作。我們想要實現的是,通過本地的瀏覽 器訪問網絡上的web服務器,并進行安全的通信。用上邊的例子來說就是,Alice希望通過web瀏覽器向Bob書店 發送信用卡號。在這里,我們有幾個必須要解決的問題。
在這里,(1)是機密性的問題;(2)是完整性的問題;而(3)則是認證的問題。
要確保機密性,可以使用對稱加密。由于對稱加密算法的密鑰不能被攻擊者預測,因此我們使用偽隨機數生成器來生成密鑰。若要將對稱加密的密鑰發送給通信對象,可以使用非對稱加密算法完成密鑰交換。要識別篡改,對數據進行認證,可以使用消息認證碼。消息認證碼是使用單向散列函數來實現的。
要對通信對象進行認證,可以使用對公鑰加上數字簽名所生成的證書。
好,工具已經找齊了,下面只要用一個“框架”(framework)將這些工具組合起來就可以了。SSL/TIS協議其實就 扮演了這樣一種框架的角色。
SSL/TLS也可以保護其他的協議
剛才我們提到用SSL/TLS承載HTTP通信,這是因為HTTP是一種很常用的協議。其實SSL/TLS上面不僅可以承載 HTTP,還可以承載其他很多協議。例如,發送郵件時使用的SMTP(Simple Mail Transfer Protocol, 簡單郵件傳輸 協議)和接收郵件時使用的POP3(Post Oice Protocol,郵局協議)都可以用SSL/TLS進行承載。在這樣的情況 下,SSL/TLS就可以對收發的郵件進行保護。
用SSL/TLS承載HTTP、SMTP和POP3的結構如下圖所示。一般的電子郵件軟件都可以完成發送和接收郵件這兩種 操作,其實是同時扮演了SMTP客戶端和POP3客戶端這兩種角色。
HTTP協議:是互聯網上應用最為廣泛的一種網絡協議,是一個客戶端和服務器端請求和應答的標準(TCP), 用于從WWW服務器傳輸超文本到本地瀏覽器的傳輸協議,它可以使瀏覽器更加高效,使網絡傳輸減少。
HTTPS:是以安全為目標的HTTP通道,簡單講是HTTP的安全版,即HTTP下加入SSL/TLS層,HTTPS的安全基礎 是SSL/TLS,因此加密的詳細內容就需要SSL/TLS。
HTTPS協議的主要作用可以分為兩種: 建立一個信息安全通道,來+ + 保證數據傳輸的安全;
日期:2018-04 瀏覽次數:6763
日期:2017-02 瀏覽次數:3438
日期:2017-09 瀏覽次數:3659
日期:2017-12 瀏覽次數:3529
日期:2018-12 瀏覽次數:4819
日期:2016-12 瀏覽次數:4584
日期:2017-07 瀏覽次數:13647
日期:2017-12 瀏覽次數:3508
日期:2018-06 瀏覽次數:4267
日期:2018-05 瀏覽次數:4446
日期:2017-12 瀏覽次數:3558
日期:2017-06 瀏覽次數:3984
日期:2018-01 瀏覽次數:3945
日期:2016-12 瀏覽次數:3915
日期:2018-08 瀏覽次數:4428
日期:2017-12 瀏覽次數:3708
日期:2016-09 瀏覽次數:6407
日期:2018-07 瀏覽次數:3208
日期:2016-12 瀏覽次數:3232
日期:2018-10 瀏覽次數:3386
日期:2018-10 瀏覽次數:3482
日期:2018-09 瀏覽次數:3580
日期:2018-02 瀏覽次數:3600
日期:2015-05 瀏覽次數:3521
日期:2018-09 瀏覽次數:3308
日期:2018-06 瀏覽次數:3435
日期:2017-02 瀏覽次數:3874
日期:2018-02 瀏覽次數:4339
日期:2018-02 瀏覽次數:4176
日期:2016-12 瀏覽次數:3574
Copyright ? 2013-2018 Tadeng NetWork Technology Co., LTD. All Rights Reserved.