不知從什麼時候開始,當我們在輸入我們需要打開的網頁的網址,前面的http變成了https,那麼,https是什麼呢? Https實質上是http的升級版,彌補了http的不安全性等因素。 特別是在某些國家可以控制 CA 根證書的情況下,中間人攻擊一樣可行。
HTTPS 協議是由 SSL+HTTP構建的可進行加密傳輸、身份認證的網絡協議,要比 HTTP安全,可防止數據在傳輸過程中被竊取、改變,確保數據的完整性。 ① 客戶端的瀏覽器首先要通過網絡與服務器建立連接,該連接是通過TCP 來完成的,一般 TCP 連接的端口號是80。 建立連接後,客戶機發送一個請求給服務器,請求方式的格式爲:統一資源標識符(URL)、協議版本號,後邊是 MIME 信息包括請求修飾符、客戶機信息和許可內容。
https://ps5.mediatagtw.com/article/preorderps5: 建立 cookies
經過之前「網域SEO全面解析」的文章介紹後,相信大家對於網域的構成都有了基礎的認識,而HTTP與HTTPS通常會出現在網址的最前端,用以告訴使用者這個網站所使用的資訊傳遞方式為何。 超文本傳輸協定 是一種用來傳輸超媒體文件 (像是 HTML 文件) 的應用層協定,被設計來讓瀏覽器和伺服器進行溝通,但也可做其他用途。 https://ps5.mediatagtw.com/article/preorderps52025 HTTP 遵循標準客戶端—伺服器模式,由客戶端連線以發送請求,然後等待接收回應。
- HTTP 全名是 超文本傳輸協定(HyperText Transfer Protocol),內容只規範了客戶端請求與伺服器回應的標準,實際上是藉由 TCP 作為資料的傳輸方式。
- 戰國策提供你SSL安全憑證安裝的服務,我們擁有4種類型的SSL憑證,能夠讓客戶選擇最適合網站所需的類型,讓您的網站加上HTTPS的SSL安全憑證,減少潛在的網安威脅、提高顧客購買的信心,立即詢問相關方案,讓你的網站更上層樓。
- 在隨後的數據傳輸當中,使用這個字符串作爲密鑰進行對稱加密。
- 嚴格地講,HTTPS並不是一個單獨的協定,而是對工作在一加密連接(TLS或SSL)上的常規HTTP協定的稱呼。
- (3)身份校驗安全性:保證數據到達用戶期望的目的地。
- 網路發展至今已與我們的生活緊密結合,不論是查資料、工作甚至是購物,只要連接上網際網路就能輕鬆完成。
- HTTPS 協議的安全是有範圍的,在黑客攻擊、拒絕服務攻擊和服務器劫持等方面幾乎起不到什麼作用。
- Google為什麼要鼓勵大家將HTTP轉換為HTTPS?
這樣防止了攻擊者嗅探整個登錄過程,獲取到加密的登錄數據之後,不對數據進行解密, 而直接重傳登錄數據包的攻擊手法。 How Browsers Work 關於瀏覽器內部實作及 HTTP 通訊協定請求流程的一篇非常詳盡的文章。 當然,真實的環境不會用這種很容易被解出來的加密方式,而是會透過例如 AES 等方式進行加密;但兩者同樣的是,都會透過同一個金鑰來進行加密與解密,因此我們把這類的加密方式稱為「共用金鑰加密」,或是「對稱式加密」。
https://ps5.mediatagtw.com/article/preorderps5: 協定層
Path 指出一個必定存在於請求 URL 中的 URL 路徑,使 Cookie 標頭能被傳出。 %x2F(「/」)字元是資料夾分隔符號,子資料夾也同樣會被匹配。 Mozilla Observatory 旨在幫助開發者、系統管理員和安全專業人員安全地配置網站的專案。 終端數位憑證由中介機構簽發、中介機構的憑證由更上游的中介機構簽發,直到源頭,它的憑證由自己簽發,這樣就形成了一個 信任鏈。
在TLS版本1.2中,伺服器端傳送的憑證以明文傳輸,因此中國大陸的防火長城可以對特定網站按照匹配的黑名單憑證,檢測到特定憑證即執行TCP重設攻擊,從而導致TLS連接無法建立。 TLS版本1.3中伺服器端憑證被加密,然而伺服器名稱指示仍未被加密,並成為防火長城檢測的新手段。 部署 HTTPS 後,因爲 HTTPS 協議的工作要增加額外的計算資源消耗,例如 SSL 協議加密算法和 SSL 交互次數將佔用一定的計算資源和服務器成本。
https://ps5.mediatagtw.com/article/preorderps5: 加密
針對這一情況,爲互聯網提供安全服務而採用 HTTPS 已是大勢所趨。 HTTP 到 HTTPS 的轉向可以幫助企業網提升用 戶訪問安全水平,特別是對於有敏感信息保存和提供金融交易等服務的企業更有幫助。 Google、Facebook 和國內諸多大型互聯網公司應用已經全面支持 HTTPS,並且蘋果和谷歌兩大公司也在積極推動 HTTPS 擴大應用 範圍,對 HTTPS 協議在全球網站的部署進度起到加速作用。 HTTP是超文本傳輸協定(HyperText Transfer Protocol)的縮寫,代表一種網際網路在傳遞資訊時的協定,其規範在使用者與伺服器之間的資料傳輸必須以TCP協定(傳輸控制協定)的三次握手(three-way handshake)建立連結。
https://ps5.mediatagtw.com/article/preorderps5: JavaScript 使用 Document.cookie 存取
像是可能大家都有聽過的 凱薩加密法,就是一個非常基本的加密方式:將明文的字母全部位移固定的距離,解密時再位移回來;例如明文是 「EGG」,位移距離(金鑰)為 3,那麼加密後的密文就會是「HJJ」。 截至2018年6月,Alexa排名前100萬的網站中有[34.6%使用HTTPS作為預設值,網際網路141387個最受歡迎網站的43.1%具有安全實施的HTTPS,以及45%的頁面載入(透過Firefox紀錄)使用HTTPS。 https://ps5.mediatagtw.com/article/preorderps5 2017年3月,中國註冊域名總數的0.11%使用HTTPS。
https://ps5.mediatagtw.com/article/preorderps5: 瀏覽器實作
先說大白話的結論:“HTTPS和HTTP都是數據傳輸的應用層協議,區別在於HTTPS比HTTP安全”。 HTTPS 協議的安全是有範圍的,在黑客攻擊、拒絕服務攻擊和服務器劫持等方面幾乎起不到什麼作用。 (3)身份校驗安全性:保證數據到達用戶期望的目的地。 就像我們郵寄包裹時,雖然是一個封裝好的未掉包的包裹,但必須確定這個包裹不會送錯地方,通過身份校驗來確保送對了地方。 對於 cookie 的使用並沒有法律上或技術上的規定,但可利用 DNT 標頭,指示網頁應用程式關閉頁面的追蹤、或跨站的使用者追蹤。
https://ps5.mediatagtw.com/article/preorderps5: 主要作用
HTTP 狀態回應碼 https://ps5.mediatagtw.com/article/preorderps52025 HTTP 狀態碼用來表示特定的 HTTP 請求是否已成功完成。 回應分為五類:資訊回應、成功回應、重定向、用戶端錯誤、以及伺服器錯誤。 HTTPS報文中的任何東西都被加密,包括所有報頭和荷載。
https://ps5.mediatagtw.com/article/preorderps5: 主要作用
因此就出現了 憑證頒發機構,例如 Alice 和 Bob 要準備進行通訊;在開始之前,Alice 必須先提供公鑰 & Email,向憑證頒發機構申請憑證,憑證頒發機構核可後,便會透過 數位簽章 包裹 Alice 提供的資料,製作成 數位憑證。 假想一下:Alice 和 Bob 準備進行通訊,而 Eve 是不懷好意的竊聽者;Alice 把要傳遞的明文經過 Bob 的公鑰進行加密後,再進行傳遞,由於 Bob 的私鑰只有 Bob 擁有,即使 Eve 竊取到了密文,也無法將其解密回明文。 HTTP 全名是 超文本傳輸協定(HyperText Transfer Protocol),內容只規範了客戶端請求與伺服器回應的標準,實際上是藉由 TCP 作為資料的傳輸方式。 HTTPS也可被用作客戶端認證手段來將一些訊息限制給合法的使用者。
https://ps5.mediatagtw.com/article/preorderps5: 協定層
服務端接收到消息之後,選中安全性最高的算法,並將選中的算法發送給客戶端,完成協商。 客戶端生成隨機的字符串,通過協商好的非對稱加密算法,使用服務端的公鑰對該字符串進行加密,發送給服務端。 服務端接收到之後,使用自己的私鑰解密得到該字符串。 在隨後的數據傳輸當中,使用這個字符串作爲密鑰進行對稱加密。 HTTPS 協議是由 HTTP 加上 TLS/SSL 協議構建的可進行加密傳輸、身份認證的網絡協議,主要通過數字證書、加密算法、非對稱密鑰等技術完成互聯網數據傳輸加密,實現互聯網傳輸安全保護。 我們來打個比方,我們用HTTP傳輸資料時就像是上課在傳紙條,每一次經手都有可能被有心的同學打開偷看,更甚至是竄改內容。
https://ps5.mediatagtw.com/article/preorderps5: 加密
很遺憾的,還是沒辦法;因為通訊的雙方,雖然看得到對方的公鑰,但沒辦法證明這個公鑰是通訊的對方所擁有。 網景在1994年建立了HTTPS,並應用在網景領航員瀏覽器中。 最初,HTTPS是與SSL一起使用的;在SSL逐漸演變到TLS時,HTTPS也由在2000年五月公佈的RFC 2818正式確定下來。 另外,還有一種安全超文本傳輸協定(S-HTTP)的HTTP安全傳輸實作,但是HTTPS的廣泛應用而成為事實上的HTTP安全傳輸實作,S-HTTP並沒有得到廣泛支援。
https://ps5.mediatagtw.com/article/preorderps5: 瀏覽器實作
即使無法獲取到後臺登錄信息, 攻擊者也可以從網絡中獲取普通用戶的隱祕信息, 包括手機號碼, 身份證號碼, 信用卡號等重要資料, 導致嚴重的安全事故。 進行網絡嗅探攻擊非常簡單, 對攻擊者的要求很低。 https://ps5.mediatagtw.com/article/preorderps5 使用網絡發佈的任意一款抓包工具, 一個新手就有可能獲取到大型網站的用戶信息。
HTTPS經由HTTP進行通訊,但利用SSL/TLS來加密封包。 HTTPS開發的主要目的,是提供對網站伺服器的身分認證,保護交換資料的隱私與完整性。 這個協定由網景公司(Netscape)在1994年首次提出,隨後擴展到網際網路上。 關於 HTTP的明文數據傳輸, 攻擊者最常用的攻擊手法就是網絡嗅探, 試圖從傳輸過程當中分析出敏感的數據, 例如管理員對 Web 程序後臺的登錄過程等等, 從而獲取網站管理權限, 進而滲透到整個服務器的權限。
除了可能的選擇密文攻擊(參見侷限小節)之外,一個攻擊者所能知道的只有在兩者之間有一連接這一事實。 (2)數據完整性:及時發現被第三方篡改的傳輸內容。 就像快遞員雖然不知道包裹裏裝了什麼東西,但他有可能中途掉包,數據完整性就是指如果被掉包,我們能輕鬆發現並拒收。 收到一個 HTTP 請求時,伺服器可以傳送一個 Set-Cookie (en-US) 的標頭和回應。 Cookie 通常存於瀏覽器中,並隨著請求被放在Cookie HTTP 標頭內,傳給同個伺服器。 可以註明 Cookie 的有效或終止時間,超過後 Cookie 將不再發送。
下面是對 HTTP 到 HTTPS 改造應用和網絡的方案介紹。 不過是多了一個「Secure」,究竟會讓這2種傳輸協定產生怎麼樣的差異呢? 這就得從早期網路的使用目的來看,網際網路在初期的使用目的僅為一個部門內的資料傳輸,因此HTTP作為較早期的傳輸協定,為了求資料傳輸的快速,自然就會省略「加密與解密」的步驟,讓資料以明文傳輸。 但是隨著網路的功能越來越多元,我們有時候會需要在網路上傳輸密碼等極為重要的資訊,若持續使用HTTP就有可能在傳輸的過程中被駭客竊取或是竄改。 https://ps5.mediatagtw.com/article/preorderps5 客戶端和服務端在開始傳輸數據之前,會協商傳輸過程需要使用的加密算法。 客戶端發送協商請求給服務端, 其中包含自己支持的非對稱加密的密鑰交換算法 ( 一般是RSA), 數據簽名摘要算法 ( 一般是SHA或者MD5) , 加密傳輸數據的對稱加密算法 ( 一般是DES),以及加密密鑰的長度。
https://ps5.mediatagtw.com/article/preorderps5: 建立 cookies
當連接到一個提供無效憑證的網站時,較舊的瀏覽器會使用一個對話方塊詢問使用者是否繼續,而較新的瀏覽器會在整個窗口中顯示警告。 但是這個HTTP 1.1版本存在一個很大的問題-明文傳輸(Plaintext/Clear Text),這個問題在互聯網時代的今天是致命的,一旦數據在公共網絡中被第三方截獲,其通信內容輕而易舉地就被竊取了。 (1) 從 HTTP 轉向 HTTPS 的應用改造要點:HTTP 頁面分析評估信息數據安全等級;WEB 頁面訪問改造;站點證書申請和部署;啓用 HTTPS 協議支持,增加 TCP-443 端口,對外服務。