HTTPS的安全性更高,為何網路不全面普及它?

2021-05-24 15:37:56 字數 1808 閱讀 9063

我們不會把自己的使用者名稱和密碼寫在明信片上然後將它郵寄出去公之於眾,但在網上,為什麼我們一直都在這樣做?在每次登陸使用http連線的服務時,我們基本上都是這麼做的。

另外還有一種更好的方式,安全性更高的http,即https。**中這個多出來的「s」意味著我們的連線是安全的,其他任何人更難看到我們在網上的活動。但既然https更安全,為什麼整個網路不來個大一統,全面使用https呢?

https和網路幾乎相伴而生,但主要供那些和錢打交道的**(銀行**或需要信用卡資料的購物車)使用。甚至很多使用https連線的**,都只限於在**中需要https連線的部分(比如購物車或使用者賬戶頁面)使用它。

去年,firesheep

網路嗅探工具的出現,使得任何人都可能捕捉到發生在不安全的網路——本地咖啡店的熱點或圖書館的公共無線網路——的當前會話。這個事件引發了公眾對網路安全的熱議。

不久前,甚至像twitter這樣的社交**(他們的資料基本上是完全公開的),也在開始提供https連線。我們也許並不介意別人嗅探和讀取你通過伺服器發布的twitter資訊,但大多數人肯定不希望其他人看到自己的使用者名稱和密碼資訊。考慮到這個因素,twitter最近宣布他們要推出乙個新的選項,即提供https連線

(注意,twitter的https選項只適用於桌面瀏覽器,不適用於移動瀏覽器,後者仍然需要手工輸入https位址)。

谷歌甚至也宣布他們將對公司的大多數api新增https選項。firefox使用者則更進一步,可以使用https everywhere外掛程式

,讓所有提供https但並沒有將其作為預設設定的幾十個**實現https連線。

顯而易見,網路正朝著https連線逐漸普及的方向邁進,為什麼不更進一步,全面採用https呢?

這就是我向yves lafon提出的問題,他是w3c的http(s)資深專家。有一些實際問題是大多數web開發人員也許都知道的,比如安全證書的成本高,但顯然,這對於價值數百萬美元的網路服務而言,根本不是個問題。

在lafon看來,真正的問題是https無法實現快取。「如果伺服器和客戶端都在同乙個區域,我的意思是同一塊大陸上,這可能不是個問題,」lafon在發給webmonkey的一封郵件中如此寫道:「但居住在澳大利亞的人(舉個例子)就喜歡快取和使用web服務,並不希望有太久的響應時間。」

lafon同時補充道,在使用https的時候,還有另外乙個不太明顯的效能問題,因為「ssl最開始的金鑰交換加重了延時。」換而言之,就當下的技術而言,單純因為強調安全而全面採用https,會使整個網路變得更慢。

對**而言,提供https連線的另乙個問題是運營成本增加。「儘管伺服器速度更快,ssl實現更優化,但運營成本仍然高於普通的http連線服務。」lafon在郵件中如此寫道。

大部分**不使用https來提供**服務,主要是因為它無法與虛擬主機協同工作。作為**託管服務商提供的最便宜的服務,虛擬主機能使web主機在同一臺物理伺服器上為多個**提供服務——數百個**使用同乙個ip位址。對於常規的http連線,這樣做很高效,但對https,目前根本行不通。

有一種方法可以使虛擬主機服務和https「和諧相處」,即tls extensions

協議,但lafon也指出,迄今為止,這也只能說得上是部分實現。當然,這對大型**而言,並不是個問題,它們往往都有大規模的整個伺服器場。但在相關細則或類似的規範普及之前,https仍然不適合小型的、還需要借助於虛擬主機服務的**使用。 

歸根結底,整個網路不全面採用https並沒有什麼真正的原因。在當下,的確有一些現實情況阻礙其全面普及,但最終,這些障礙都會消失。頻寬會進一步提速,會緩解人們對快取能力的擔憂,而且新型伺服器也將為安全連線做更進一步的優化。

未來的網路,人們主要的關注點不只是**載入速度有多快,而是在**載入資料的過程中,如何更好地保障我們個人的安全,保護資料的安全。

為什麼HTTPS比HTTP安全性更高?

http 超文字傳輸協議 是目前網際網路應用最廣泛的協議,伴隨著人們網路安全意識的加強,https 被越來越多地採納。不論是訪問一些購物 或是登入一些部落格 論壇等,我們都被 https 保護著,甚至 google chrome firefox 等主流瀏覽器已經將所有基於 http 的站點都標記為不...

mysql 網路安全性 MySQL安全性指南(1)

作為乙個mysql的系統管理員,你有責任維護你的mysql資料庫系統的資料安全性和完整性。本文主要主要介紹如何建立乙個安全的mysql系統,從系統內部和外部網路兩個角度,為你提供乙個指南。為什麼安全性很重要,你應該防範那些攻擊?伺服器面臨的風險 內部安全性 如何處理?連線伺服器的客戶端風險 外部安全...

mysql 網路安全性 MySQL安全性指南(3)

2.4 不用grant設定使用者 當你發出一條grant語句時,你指定乙個使用者名稱和主機名,可能還有口令。對該使用者生成乙個user表記錄,並且這些值記錄在user host和password列中。如果你在grant語句中指定全域性許可權,這些許可權記錄在記錄的許可權列中。其中要留神的是grant...