時間:2017-08-20 來源:互聯網 瀏覽量:
相信很多朋友都遇到過網頁被強插廣告的情況,好端端一個幹淨的頁麵,動不動就被插了個屠龍寶刀點擊就送的小窗口,看著就心煩。
這種網頁劫持強插廣告的現象,在中國非常常見,往往是運營商進行HTTP劫持所造成的。對付這種劫持,一個很好的解決辦法就是HTTPS。
網頁劫持很多人都有遇到過,HTTPS可以比較好地防範這問題
HTTPS能夠加密網頁傳輸內容,不僅可以防止強插廣告,還可以防盜號。然而,效果如此好的技術,並沒有成為主流。無論國內外,很多大網站都仍沒有使用HTTPS進行加密。
根據統計,Alexa排名前一百萬的網站,隻有21.7%默認使用HTTPS,而中國的情況更加慘淡一些,注冊域名總數隻有0.11%使用HTTPS。為什麼會這樣子呢?今天就一起來談談HTTPS的話題吧。
HTTPS是什麼
我們通常瀏覽網站用的是HTTP協議,這個協議也是互聯網最為廣泛使用的協議之一。這個協議大致是這樣子運作的,當瀏覽網站的時候,首先你會發送一個請求,如果發送的是網址的話,會經由DNS服務器解析到相應的IP地址。
服務器的80端口會監聽到該請求,如果沒有問題的話,會向你返回一個相應信息,接而連接成立,就可以開始傳輸數據了。這是一個很典型的TCP鏈接,用戶和服務器進行有效連接需要經過好幾個步驟,但無一例外,這些步驟中的數據傳輸都是明文,沒有加密。
網頁瀏覽存在諸多環節,都是明文傳輸的話,安全和隱私都很成問題
沒有加密,就意味著給了別有用心者很多機會竊聽——就如同你上課時給妹子傳紙條,傳遞過程中阿貓阿狗都可以拆開來圍觀一番,黑點兒的還會往紙條裏加料,你開網頁被運營商插廣告,大致也是這個理兒。
如何才能防止信息被篡改?加密是個很好的解決方案。HTTPS,就是加密版的HTTP。
如果瀏覽器地址欄上有鎖之類的標識,說明使用的是HTTPS安全連接
HTTPS使用了SSL/TLS進行加密,這是一套使用公鑰/私鑰機製的加密係統。使用了HTTPS後,基於證書係統的公鑰一方麵保證用戶連接的是正確的網站,另一方麵結合私鑰,可以保證網絡數據不會被竊聽。
於是,HTTPS一來可以防止釣魚(網站帶有數字簽名,簽名不對無法連接),二來加密了傳輸的數據,他人無法竊聽和加料,盜號和插廣告無從下手。和HTTP相比,HTTPS的確更能保證用戶的隱私和安全。
為何HTTPS仍不是主流?
盡管HTTPS的好處顯而易見,但目前為止仍有大量的網站尚未部署HTTPS,就算是部署,也隻是在登錄頁麵等少部分對安全有硬性要求的地方部署。為什麼大家都沒有一股腦地轉用HTTPS?背後的緣由主要還是錢。
仍有大量網站未使用HTTPS
HTTPS會帶來一定的成本問題,大部分人開網站是為了賺錢,如果提升了用戶體驗卻虧了,那還不如不開。
從HTTP轉換到HTTPS是需要一定成本進行改造的,例如HTTP使用的是80端口而HTTPS使用的是443端口,同時HTTPS要比HTTP更加消耗資源,SSL握手需要更多的數據包,加密解密也需要額外的運算。
要保證用戶體驗,改用HTTPS後,設備也需要升級,例如購買SSL加速卡等等,對於一些大流量的站點例如視頻站,這個成本是不容忽略的。
對於小網站,證書也是一個成本。HTTPS的證書需要專門的機構頒發,大機構頒發的證書不是免費的,每年都得交幾百幾千塊錢才能申請到證書。小機構的證書盡管便宜甚至免費,但一來適用度不如大機構的證書,二來申請證書始終是麻煩事。
小網站的話,掛靠在擁有證書的服務器是個不錯的辦法,但更多人是懶得弄了,小網站本來就比較隨意,反正連接沒加密又不是不能用,哪有這麼多心思弄證書。
如果證書不對,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等,會時不時宣布吊銷某些機構證書的決定,大家可以多留意一下這方麵的消息。
MCS偽造過證書來劫持Gmail的HTTPS
HTTPS除了防竊聽,還可以防止他人修改傳輸內容,例如防止運營商幹擾TCP連接等。但是運營商看不到傳輸的數據,還是有辦法整你的,例如給你丟幾個包之類的。
一些網站會因為換用HTTPS,導致整個IP被封禁,所以一些站點換用HTTPS還是蠻需要勇氣的。
總結
但無論如何,HTTPS仍是大趨勢。不少業界巨鱷在大力推廣HTTPS等安全連接,例如蘋果規定商店所有App必須使用HTTPS連接網絡,下一代HTTP協議HTTP/2也將強製使用加密連接。
因此,各大站點換用HTTPS等加密連接,隻是時間問題。HTTPS的確可以解決很多問題,希望互聯網能盡早全麵換裝加密連接,更好地保護用戶的隱私和安全吧。