為什么HTTPS不是那么普及
1.加密通信與純文本通信相比,消耗更多的CPU和內存資源
2.購買證書是要錢的!
3.少許對客戶端有要求的情況下,會要求客戶端也必須有一個證書.
這里客戶端證書,其實就類似表示個人信息的時候,除了用戶名/密碼, 還有一個CA 認證過的身份. 應為個人證書一般來說上別人無法模擬的,所有這樣能夠更深的確認自己的身份
目前少數(shù)個人銀行的專業(yè)版是這種做法,具體證書可能是拿U盤作為一個備份的載體
HTTPS 一定是繁瑣的
1.本來簡單的http協(xié)議,一個get一個response. 由于https 要還密鑰和確認加密算法的需要.單握手就需要6/7 個往返,任何應用中,過多的round trip 肯定影響性能.
2.接下來才是具體的http協(xié)議,每一次響應或者請求, 都要求客戶端和服務端對會話的內容做加密/解密,盡管對稱加密/解密效率比較高,可是仍然要消耗過多的CPU,為此有專門的SSL 芯片. 如果CPU 信能比較低的話,肯定會降低性能,從而不能serve 更多的請求,加密后數(shù)據(jù)量的影響. 所以,才會出現(xiàn)那么多的安全認證提示
網站使用https的好處與壞處
今天我們重點討論一下網站使用https的好處與壞處,如果有對https原理不了解的小伙伴,可以參考百恒之前寫的http和https的關系與區(qū)別(附圖解)。
https的好處
1、SEO方面
谷歌曾在2014年8月份調整搜索引擎算法,并稱“比起同等http網站,采用https加密的網站在搜索結果中的排名將會更高。”
百度也于去年也在站長平臺聲明,https有一定的排名優(yōu)待。
2、安全性
盡管https并非絕對安全,掌握根證書的機構、掌握加密算法的組織同樣可以進行中間人形式的公司,但https仍是現(xiàn)行架構下最安全的解決方案,主要有以下幾個好處:
(1)、使用https協(xié)議可認證用戶和服務器,確保數(shù)據(jù)發(fā)送到正確的客戶機和服務器;
(2)、https協(xié)議是由SSL+http協(xié)議構建的可進行加密傳輸、身份認證的網絡協(xié)議,要比http協(xié)議安全,可防止數(shù)據(jù)在傳輸過程中不被竊取、改變,確保數(shù)據(jù)的完整性。
(3)、https是現(xiàn)行架構下最安全的解決方案,雖然不是絕對安全,但它大幅增加了中間人攻擊的成本。
https的壞處
雖然說https有很大的優(yōu)勢,但其相對來說,還是有些不足之處,具體來說,有以下2點:
1、SEO方面
據(jù)ACM CoNEXT數(shù)據(jù)顯示,使用https協(xié)議會使頁面的加載時間延長近50%,增加10%到20%的耗電,此外,https協(xié)議還會影響緩存,增加數(shù)據(jù)開銷和功耗,甚至已有安全措施也會受到影響也會因此而受到影響。
而https協(xié)議的加密范圍也比較有限,在黑客攻擊、拒絕服務攻擊、服務器劫持等方案幾乎起不到什么作用。
最關鍵的,SSL證書的信用鏈體系并不安全,特別是在某些國家可以控制CA根證書的情況下,中間人攻擊一樣可行。
2、經濟方面
(1)、SSL證書需要去,功能越強大的證書費用越高,個人網站、小網站沒有必要一般不會用。
(2)、SSL證書通常需要綁定IP,不能再同一IP上綁定多個域名,IPv4資源不可能支撐這個消耗(SSL有擴展可以部分解決這個問題,但是比較麻煩,而且要求瀏覽器、操作系統(tǒng)支持,Windows XP就不支持這個擴展,考慮到XP的裝機量,這個特性幾乎沒用)。
(3)、https連接緩存不如http高效,大流量網站如非必要也不會采用,流量成本太高。
(4)、https連接服務器端資源占用高很多,支持訪客稍多的網站需要投入更大的成本,如果全部采用https,基于大部分計算資源閑置的假設的VPS的平均成本會上去。
(5)、https協(xié)議握手階段比較費時,對網站的響應速度有負面影響,如非必要,沒有理由犧牲用戶體驗。
當然了,現(xiàn)在https已經趨于成熟,很多缺點是可以優(yōu)化和彌補的。比如:打開速度問題完全可以通過CDN加速解決,很多IDC也在著手推出免費證書和一站式https搭建服務,不久https成本將會大大縮小!