最新消息

HTTPS協議:為何升級至SSL憑證能保障您的網站安全?

為什麼大部分網站的網址開頭都是https?這篇文章就要帶你了解,保護網路安全重要的https協議。簡單來說https協議是一種加密傳輸技術,需要透過SSL或TLS技術作為加密手段,確保我們的線上個資與資訊安全,升級https協議已是網頁必備!

https協議
https協議

HTTPS協議與網絡安全的重要性

當現今的主流網路協議在30幾年前誕生時,電腦由於體積龐大無法四處移動,只能被放在資料中心旁邊,同時全世界能夠連上網路的設備也只有幾家大型單位,並受限於有限的硬體效能,因此傳輸資料的安全性就不是當時網路使用者的第一考量。

以往只有在軍事等敏感的通信過程會有加密需求,但如今各種資料(如個資、密碼、信用卡號碼等)都在網路上傳輸,這代表每一位網路用戶都有加密傳輸的需求,並且需要一個全球通用的加密標準讓大家遵循。因此便有了SSL協議,在各單位的長期推動與支持下,目前單純以網頁來看,已經有大約70-80%的網站使用https協議連線,如今的主流瀏覽器也將採用未加密http的網頁視為不安全,同時大多數的搜尋引擎也將未採用https的網站降低排名順序,這表示https已是現今必備的網頁連接方式。

透過加密的方式,讓連線過程不被第三者竊聽。

HTTPS協議、SSL與TLS的基本概念

首先https是傳輸協議,定義了如何跟伺服器互動的規則等等,目前主要使用https協議的就是大家所瀏覽的網頁,當然在其他用途上,例如實現DNS查詢,目前也有DNS_Over_https的實作法。

顧名思義https協議是在基於http上衍生出來的,https協議需要透過SSL或TLS技術作為加密手段,但加密的協議並非只有https,其他需要加密的傳輸協議 (例如用於取代傳統無加密傳輸FTP的SFTP、還有電子郵件協議SMTPS) 也需要依賴SSL或TLS作為加密手段。比方說,https是對話的標準語言,例如要統一使用中文或英文來溝通一樣,而SSL或TLS則是為了不要讓其他人知道我們在講什麼,所以在文字中定義了打暗號的方式。

而SSL與TLS呢,其實兩者本質上的意思是一樣的,就是加密和保護網路通訊的協議,但目前市面上所有規格都是TLS1.2或1.3了,而SSL所有版本與TLS 1.0和1.1版其實都已經因為安全性而被棄用,原則上現在的網站應該都不會存在這兩個協議。因此,例如網路上所說的要買 “SSL憑證”、 “需要SSL”,有沒有“SSL加密”,指的其實都是所謂的“TLS”,至於為什麼還是說SSL,其實是因為SSL這個字詞已經存在好幾年,因此大家還是習慣以SSL為主。

HTTPS協議中的SSL:作用與運作原理

SSL全名Secure Sockets Layer,許多人以為SSL只有所謂的加密傳輸,但實際上還包含了許多細節。這裡我們其實介紹的都還是以最新的TLS為主,至於SSL和TLS的差異將在後方介紹。

SSL、TLS 的基本概念
SSL、TLS 的基本概念

整個SSL我們可以分成四大步驟:加密通信、資料完整性保護、版本協商、證書

加密通信:

請試想幾個情景,如果要加密,首先我們要知道雙方之間暗號的標準,來確保使用統一規格的暗號來維持溝通,總不能用對方聽不懂的語言作為暗號吧,這樣根本連要怎麼解密都不知道了。(例如:TLS/SSL_ECDHE/DHE_RSA/ECDSA等等。)

再來因為我們不可能針對所有的資料都進行最強大的加密方法(非對稱加密法,例如RSA或ECDSA),這樣要耗費非常多的運算資源,所以只要針對最為關鍵的金鑰部分,做出最強的加密即可,而傳輸的流量則是採用比較不消耗資源的加密方式(對稱加密法,例如AES_GCM或ChaCha20),這是構成加密方式的部分。

資料完整性:

溝通好加密方式、加密手段後,我們也要確保別人拿到的解密後資料沒有造成中間資料的遺漏與缺失,因此我們還需要校驗到底資料是否完整,這時就需要一個校驗資料完整性的方案,目前較主流的方式是AES_GCM搭配SHA家族,而ChaCha20搭配Poly1305方案來實現。

所以總共的Cipher Suites (在TLS1.2下),就會是例如TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256這樣的組合,而TLS1.3則預先透過key_share擴充欄位完成了金鑰協商,因此Cipher可以縮減為TLS_AES_128_GCM_SHA256,另外如果使用橢圓曲線加密法ECC,則還要考慮曲線模型,目前最主流且最多支持的是NIST-P256曲線模型,但也有其他模型例如secp256r1等等可供使用,唯獨各方面的相容性可能較差。

版本協商:

簡單來說SSL、TLS目前總共有很多版本,SSL1.0、2.0、3.0、TLS1.0、TLS1.1、TLS1.2、TLS1.3,我們總要知道來訪的人和伺服器,分別各自可以允許支援到哪個版本。

目前國際標準只有TLS1.2與1.3這兩項是安全的,其他都已經不再安全,因此在版本協商過程上多數伺服器都是以TLS1.3優先,除非訪問的來源不支援,才會降階以TLS1.2溝通,如果遇到只能支持1.1或以前的版本則直接不給連線了,瀏覽器便會出現Secure Connection Failed (Err: SSL_ERROR_UNSUPPORTED_VERISON) ,或是SSL_ERROR_PROTOCOL_VERSION_ALERT之類的訊息。

證書:

而「證書」的部分,相信網路上也有很多SSL證書商的介紹了,畢竟證書作為一種憑證信任鏈的方式,自然會有人選擇購買大廠的證書,以獲得較舊作業系統或是OV或EV認證,雖然說目前在有限使用的範圍內選擇Let’s encrypt 或 ZeroSSL,並搭配acme機制讓其自動續簽更新也不失為一個節省預算的方式,這部分網路上已經有許多資料了。

HTTPS協議與TLS:技術演進與安全特點

那麼到底SSL和TLS有什麼差別?前述已經提到其實兩者的意思大致相同,但因為舊版本存在漏洞與安全性疑慮,因此目前只有TLS 2.0與3.0是可靠的,有些網站或是企業內網因為部署升級難度的因素,可能會允許TLS1.0或1.1來連線,例如google.com目前還是可以允許瀏覽器透過TLS1.0來訪問,但是絕大多數的銀行網站都不接受了。


透過更改Firefox about: config中的security.tls.version.max 與security.tls.version.min分別從預設的4和3 (TLS1.3與1.2) 改為1 (TLS1.0)時,訪問google.com仍然可以正常連線,但訪問匯豐銀行則無法連線。

詳細的更改除了核心的安全性以外,所支援的上述方式(加密金鑰、流加密方式等等),在TLS 1.2與1.3還有著新的限制,例如在TLS1.2時就規範禁止相容於SSL的相容,避免協商時被強制降級成SSL,並產生安全性問題。

而到了1.3更直接限制了只有哪些方式是安全且可以用的,舊款且被證實不安全或有安全疑慮的方式(例如RC4、3DES_EDE_CB這些)在TLS1.3也都被禁止使用,僅有幾項公認安全的主流方式可以被使用,這也是增加安全性的手段之一。

目前幾種適合用於TLS 1.3的加密套組 (Cipher)

TLS1.3相較於1.2而言,除了加密方式的限制以外,還有個最大的改變,就是支援1-RTT交握,以往的TLS1.2需要2-RTT,或許在網路品質與速度延遲良好的狀態下,多1個RTT並不會有太大的影響,但是如果在延遲明顯的網路上,例如位於高軌道的衛星通訊,受限光速與設備延遲,延遲都在高達500-600ms以上,這時候少1個RTT的延遲助益就很明顯,這也是世界各國或各大公司,例如SpaceX的星鏈Starlink或中國衛星網路集團要搶佔低軌衛星通訊的其中一個因素,因為軌道過高造成的往返延遲實在無法令人滿意。

左(TLS1.2)與右(TLS1.3)的RTT對比示意圖

此外,在2022年最新一代的http協定http/3或被稱為QUIC,已經正式發佈並寫入RFC標準,同年Cloudflare就將QUIC列為預設CDN加速的規格中,QUIC直接在基於UDP的前提下,一併將 TLS1.3融入協定本身,透過基於UDP協議,以及0-RTT建立連線的功能,(當然,要實現0-RTT還需要滿足一些其他條件和針對適用場景評估,例如針對傳輸內容正確性有嚴格需求的銀行轉帳就不適合0-RTT。)但預期可見兼顧低延遲、加密安全性的情況下,TLS 1.3將成為未來的主流。

http與https協議
http與https協議

立即升級HTTPS協議,強化網站安全與信任!

總之,網站使用https協議已是現今必備的條件,不僅可以保護數據隱私、防止中間人攻擊、確保傳輸資料的完整性、還有大多數搜尋引擎都會將具備https的網頁提升SEO權重與排名。此外,如果您是金融行業,各種資安規範,例如PCI DSS合規性等等也幾乎都將https協議列為其中的最低條件。如果您的網站尚未升級https協議,建議請盡快採取處理動作,請歡迎與2ECloud專業團隊聯繫。我們致力於協助企業建立自己的安全網站!

【延伸閱讀】

SSL是什麼?你不能不知保障網路安全的基石
為什麼SSL能保護你的網站?https協議的必要!
SSL憑證購買指南:SSL憑證費用與等級該如何評估?專家告訴你

Related News

探索雲產品

探索2ECloud廣泛的雲產品,包括CDN服務,DDoS防護,DNS服務以及其他高性能產品。

聯繫銷售

歡迎詢問關於我們的產品,解決方案或其他任何信息。我們隨時可以提供幫助。