經常會看到新聞報導重大資料外洩事件,你可能會開始思考在上網時你的資料是如何被保護的。當你逛某個電傷網站並開始在上面買東西,輸入完信用卡號,滿心期待過幾天收到包裹時,你可曾想過網路安全是如何運作的呢?
網路安全的基礎
最基本型態的網路安全,在電腦與網站之間是透過一連串的請求和回應來完成。當你將網址輸入瀏覽器中,然後瀏覽器會要求網站驗證其真實性,網站再以適當的資訊回應,接著在雙方都同意之後,網站便會在網路瀏覽器中打開。
這些請求的問題和交換的資訊,便是關於在瀏覽器和網站之間傳輸資料、電腦資訊和個人資訊的加密種類。這些請求和回應稱為 Handshake,如果 Handshake 沒有發生,那你打算造訪的網站便被視為不安全。
HTTP 和 HTTPS 的區別
HTTP
- 整個過程對任何人都是開放的。
- 較易於設定和運作。
- 對密碼及送出的資料無安全性。
HTTPS
- 完整加密以隱藏資訊。
- 需要額外的伺服器設定。
- 保護傳輸的資訊,包括密碼。
當你到訪網站時,你可能會注意到一件事,就是某些網址是 http 開頭的網址,而某些是 https 開頭的。HTTP 表示超文本傳輸協定(Hypertext Transfer Protocol);它是一種網路傳輸協定,指定網路上的安全性傳輸。
某些網站,特別是你會被要求提供敏感性或個人辨識資訊的網站,可能會以綠色或紅色加上底線顯示 https,其中綠色表示這個網站有可驗證的安全性認證,而紅色加上底線表示這個網站沒有安全性認證,或這個認證不正確或已過期。
這邊有些事情容易搞混:HTTP 不代表電腦和網站間的資料傳輸是加密的,它只表示這個網站是以含有主動安全性認證的瀏覽器來傳輸。只有在S 含在裡面(就像 HTTPS)時,才表示資料是安全地傳輸,而目前有另一個使用中的技術可以讓這個安全性指向得以實現。
SSL 和 TLS 的區別
SSL
- 最初發展於1995年。
- 較早期的網頁加密等級。
- 在高速發展的網路相對落後。
TLS
- 以第三版的 SSL 開始。
- 即傳輸層安全性(Transport Layer Security)。
- 持續改良使用 SSL 的加密。
- 持續新增新種類的攻擊和安全性漏洞的修復。
SSL 是一開始的安全性協定,以確保傳輸之間的網站資料是安全的。根據 GlobalSign 所述,SSL 是在1995年以2.0版引進的。第一版 1.0 從來沒有公開過。2.0版在一年後被3.0版所取代,以強化協定中的弱點。
在1999年,稱作傳輸層安全性(TLS)的另一個版本 SSL 被引進,以改良傳輸速度及安全性。TLS 即是目前使用中的版本,而基於簡便性的緣故,它也常被稱為 SSL。
了解SSL協定
優點
- 將電腦和網站之間的資訊隱藏。
- 保護登入資訊。
- 確保線上購物安全性。
缺點
- 無法免除所有威脅。
- 無法在沒有使用 SSL 的網站上有保護效果。
- 無法隱藏你到訪過哪些網站。
當你考慮與某人分享資料時,那就表示有第二方涉入其中。線上安全性的運作也差不多一樣。對一個確保線上安全性的資料傳輸,一定有一個第二方涉入其中。如果 HTTPS 是網頁瀏覽器用來確保有安全性的協定,那 Handshake 的剩下那一半便是確保加密的協定。
加密是用來分辨網路上兩台裝置傳輸資料的技術。它是透過將可辨認的字元轉換成不可辨識的亂碼來完成,而使用加密鑰匙便可以將其轉換回原本的文字。這一開始是透過一個叫作傳輸層安全性協定(SSL)來完成的。
SSL 是將任何網站和瀏覽器之間的資料轉換成亂碼、再轉換回原資料的技術。以下是它運作的方式:
- 打開瀏覽器後,你輸入你的銀行位址。
- 網頁瀏覽器敲了銀行的門,並向銀行介紹了你。
- 看門人驗證了你是你所說的那個人,並同意讓你在特定的條件下進入。
- 網頁瀏覽器同意這些條件,然後你便得到進入銀行網站的允許。
這個過程在你輸入使用者名稱及密碼時也會重複,再加上一些額外的步驟。
- 你輸入你的使用者名稱及密碼來獲取你的帳號存取權。
- 你的網頁瀏覽器告訴銀行的帳號管理者,你想要存取你的帳號。
- 他們交談後,同意如果你能提供正確的憑證,那麼你就可以獲得存取權。不過,這些憑證必須以特別的語言來呈現。
- 網頁瀏覽器和銀行帳號管理者同意了接下來要使用的語言。
- 網頁瀏覽器將你的使用者名稱和密碼轉換成那種特別的語言,並將它傳給銀行的帳號管理者。
- 帳號管理者收到資料後,將其解碼,並將它與他們的紀錄比對。
- 如果你的憑證符合,你便能存取你的帳號。
整個過程在納秒(十億分之一秒)間發生,所以你並不會注意到網頁瀏覽器和網站之間所發生對話和握手的時間。
TLS 加密
優點
- 更安全的加密性。
- 在電腦和網站間隱藏資料。
- 在協定加密通訊時有更好的握手流程。
缺點
- 沒有絕對完美的加密。
- 不會主動加密 DNS。
- 不完全相容於舊版本。
TLS 加密是引進用來改良資料安全性的。SSL 曾是一項好技術,但安全性以高速比例在改變,這導致了我們需要更好、最新的安全性。TLS 是以 SSL 的框架所建置而成,改良的主宰通訊及握手流成的演算法。
哪個 TLS 版本是最新的?
TLS 加密持續隨著 SSL 在進步。目前 TLS 版本是1.2,但 TLS 1.3版已經有初步雛形了,而某些公司和瀏覽器已經使用這個安全協定一陣子了。在大部份例子中,他們會回溯至 TLS 1.2版,因為1.3版仍不夠完美。
在 TLS 1.3版完成後,它會帶來大量的安全性改良,包括改良後對更新種類的加密種類支援度。不過,TLS 1.3版也會取消支援更舊版本的 SSL 協定及其他不再足夠堅固、無法確保適當安全性和個人資料加密的安全性技術。