為何你會被強插廣告/盜號?談HTTPS連接的那些事
相信很多朋友都遇到過網頁被強插廣告的情況,好端端一個乾淨的頁面,動不動就被插了個屠龍寶刀點擊就送的小窗口,看著就心煩。這種網頁劫持強插廣告的現象,在中國非常常見,往往是運營商進行HTTP劫持所造成的。對付這種劫持,一個很好的解決辦法就是HTTPS。
HTTPS能夠加密網頁傳輸內容,不僅可以防止強插廣告,還可以防盜號。然而,效果如此好的技術,並沒有成為主流。無論國內外,很多大網站都仍沒有使用HTTPS進行加密。根據統計,Alexa排名前一百萬的網站,只有21.7%默認使用HTTPS,而中國的情況更加慘淡一些,註冊域名總數只有0.11%使用HTTPS。為什麼會這樣子呢?今天就一起來談談HTTPS的話題吧。
HTTPS是什麼
我們通常瀏覽網站用的是HTTP協議,這個協議也是互聯網最為廣泛使用的協議之一。這個協議大致是這樣子運作的,當瀏覽網站的時候,首先你會發送一個請求,如果發送的是網址的話,會經由DNS伺服器解析到相應的IP地址。伺服器的80埠會監聽到該請求,如果沒有問題的話,會向你返回一個相應信息,接而連接成立,就可以開始傳輸數據了。這是一個很典型的TCP鏈接,用戶和伺服器進行有效連接需要經過好幾個步驟,但無一例外,這些步驟中的數據傳輸都是明文,沒有加密。
沒有加密,就意味著給了別有用心者很多機會竊聽——就如同你上課時給妹子傳紙條,傳遞過程中阿貓阿狗都可以拆開來圍觀一番,黑點兒的還會往紙條里加料,你開網頁被運營商插廣告,大致也是這個理兒。如何才能防止信息被篡改?加密是個很好的解決方案。HTTPS,就是加密版的HTTP。
HTTPS使用了SSL/TLS進行加密,這是一套使用公鑰/私鑰機制的加密系統。使用了HTTPS後,基於證書系統的公鑰一方面保證用戶連接的是正確的網站,另一方面結合私鑰,可以保證網路數據不會被竊聽。於是,HTTPS一來可以防止釣魚(網站帶有數字簽名,簽名不對無法連接),二來加密了傳輸的數據,他人無法竊聽和加料,盜號和插廣告無從下手。和HTTP相比,HTTPS的確更能保證用戶的隱私和安全。
為何HTTPS仍不是主流?
儘管HTTPS的好處顯而易見,但目前為止仍有大量的網站尚未部署HTTPS,就算是部署,也只是在登錄頁面等少部分對安全有硬性要求的地方部署。為什麼大家都沒有一股腦地轉用HTTPS?背後的緣由主要還是錢。
HTTPS會帶來一定的成本問題,大部分人開網站是為了賺錢,如果提升了用戶體驗卻虧了,那還不如不開。從HTTP轉換到HTTPS是需要一定成本進行改造的,例如HTTP使用的是80埠而HTTPS使用的是443埠,同時HTTPS要比HTTP更加消耗資源,SSL握手需要更多的數據包,加密解密也需要額外的運算。要保證用戶體驗,改用HTTPS後,設備也需要升級,例如購買SSL加速卡等等,對於一些大流量的站點例如視頻站,這個成本是不容忽略的。
對於小網站,證書也是一個成本。HTTPS的證書需要專門的機構頒發,大機構頒發的證書不是免費的,每年都得交幾百幾千塊錢才能申請到證書。小機構的證書儘管便宜甚至免費,但一來適用度不如大機構的證書,二來申請證書始終是麻煩事。小網站的話,掛靠在擁有證書的伺服器是個不錯的辦法,但更多人是懶得弄了,小網站本來就比較隨意,反正連接沒加密又不是不能用,哪有這麼多心思弄證書。
除此以外,HTTPS的兼容也有一定問題。例如網站部署了HTTPS後,頁面想要內嵌其他站點的內容,如果內嵌的只是普通的HTTP內容的話,可能會出現一些問題。你可以看到一些HTTPS網站中沒法內嵌優酷、土豆之類的視頻,看視頻需要點擊跳轉,也是由於這個緣故。
因此,HTTPS主要還是一些資本雄厚的大公司以及對安全有著硬性要求的站點在用。例如Google,反正有錢,旗下所有網站部署HTTPS也燒得起;例如淘寶,有錢是一方面,作為一個購物網站,花錢這點小事和在安全上捅了簍子相比,根本不值一提,所以淘寶所有的頁面都部署了HTTPS。
HTTPS是否萬無一失?
使用了HTTPS,是否就萬無一失了呢?也並非如此。HTTPS的證書就有可能存在安全問題,因為某些頒發證書的機構不按套路出牌。某些機構會濫發證書,甚至會製造假證書,假證書可以用來進行中間人攻擊。例如,當你使用HTTPS連接到某個站點,瀏覽器告訴你站點連接是安全的HTTPS,但不好意思,實際上這個HTTPS只是基於假證書的連接,你在網站上做的一切都有可能被假證書的機構竊聽。
這種事情是真實存在的,例如Gmail使用的是Google自己的證書,但MCS就曾經偽造過Gmail的假證書。用戶連接到Gmail的時候,由於Google和MCS都被系統和瀏覽器信任,所以MCS的假證書也可以用於Gmail的HTTPS連接,這等於是繞開了Google對Gmail的HTTPS加密,Gmail就被MSC劫持了。對付假證書的最好辦法,就是把頒發假證書的機構刪掉。各大瀏覽器例如Chrome、Firefox等,會時不時宣布吊銷某些機構證書的決定,大家可以多留意一下這方面的消息。
HTTPS除了防竊聽,還可以防止他人修改傳輸內容,例如防止運營商干擾TCP連接等。但是運營商看不到傳輸的數據,還是有辦法整你的,例如給你丟幾個包之類的。一些網站會因為換用HTTPS,導致整個IP被封禁,所以一些站點換用HTTPS還是蠻需要勇氣的。
總結
但無論如何,HTTPS仍是大趨勢。不少業界巨鱷在大力推廣HTTPS等安全連接,例如蘋果規定商店所有App必須使用HTTPS連接網路,下一代HTTP協議HTTP/2也將強制使用加密連接。因此,各大站點換用HTTPS等加密連接,只是時間問題。HTTPS的確可以解決很多問題,希望互聯網能儘早全面換裝加密連接,更好地保護用戶的隱私和安全吧。
相關閱讀:
大版權時代聽歌怎就這麼難?談網上聽歌的蛋疼事
http://pcedu.pconline.com.cn/978/9783844.html
觸目驚心!你可知一個手機號能扒出女神多少信息
http://pcedu.pconline.com.cn/977/9778944.html
你的電腦真能搞定4K?老司機必懂的4K視頻攻略
http://pcedu.pconline.com.cn/968/9684107.html
絕不只是堆砌快閃記憶體!SSD中的軟體演算法你知多少
http://pcedu.pconline.com.cn/966/9669884.html
推薦閱讀:
※大家都升級了HTTPS,你竟然還不會用?來,我教你!
※TLS完全指南(一):TLS和安全通信
※iOS開發中的HTTPS
※直擊阿里雙11神秘技術:PB級大規模文件分發系統「蜻蜓」
※GitHub 許可權校驗失敗給我的啟發