Google推動SSL普及

SSL是SEO的排序指標,Chrome會將http網站標示為不安全,Google推動SSL普及的歷程進度

    Google早在2014年就罕見的公告https網站將有助於SEO排序,而2017年1月更透過Chrome將non-SSL網站標示為不安全,Google大動作的影響、並改變網站的生態,為何Google要這麼做?Google又有哪些作法逐漸普及SSL?

 

段落連結

 

為何Google要求要有SSL

    之前上課時有和老師開玩笑聊天時說過,大概是Google裡面某幾個工程師聊天的時候談到SSL,認為這個很重要,於是就展開了https推廣計畫了:p

    Google早在2014年之前就認為使用https的網站,是未來網路使用的基礎,尤其是Google在推得Progressive Web App(PWA)漸進式Web APP基礎需求就是SSL,隨著行動網路、手機的使用,網路傳輸的資料越來越個人化,相對的也是更加的隱私,所以Google在Why HTTPS Matters這篇文章就清楚說明,Google為何要推動SSL普及。

 

HTTPS保護我們網站的完整性

    沒有SSL的HTTP連線,使用者看到我們的網站畫面有可能是經過竄改的,不論是覆蓋廣告、置換我們的廣告(有開廣告分潤的會影響收入),甚至是竄改我們的網站內容,這樣子的網站會影響UX,讓我們的使用者厭惡,離開我們的網站。

    更嚴重的是駭客可能藉此竄改我們的網站程式碼,插入病毒,或者引誘使用者下載、執行惡意程式,傷害我們的網站瀏覽者,相對的我們可能也需要負擔額外的損失,不論是名聲或金錢。

 

HTTPS保護使用者的隱私和安全

    我們瀏覽哪些網站,透漏了我們的思考、行為和規劃等個人隱私,如某A最近瀏覽大量旅遊網站、以及旅館資料,透漏她可能在規劃旅遊假期,所以某個時間點家裡沒有人;或者某B最近在看一些醫療用品、疾病說明的網站,也許就透漏了她的健康資訊,甚至綜合其他網站可以知道某B上個週末荒唐一夜,帶回來一些不應該帶回的東西。

    瀏覽過程雖然是匿名的,但是HTTP沒有安全保護,可以任意攔截資訊,藉由這些資訊可以拼湊出一個人的人物側寫,以及很詳盡的個人隱私,https瀏覽可以確保我們的網路瀏覽不被人窺探,達到真正安全隱私匿名化。

 

各式APP、網路雲端服務資料傳輸都應該使用SSL傳輸

    如果今天Google Map APP沒有使用SSL傳輸資訊,攔截資料就可以知道我們在哪、去了哪裡、怎麼走,如果是運動類、健康管理類、醫藥類、甚至是經營管理服務的APP呢?手機+行動網路已經成為我們的個人化隨身配件,裡面的各種APP方便了我們的生活,提供各種即時、便利、個人化的服務,但是這個過程也取的了非常多個人私密訊息,這些訊息都會透過網路傳輸到伺服器,所以所有的網路傳輸服務都應該使用SSL加密傳輸,確保資料不被盜取,保障我們的隱私安全。

 

https是SEO的排序指標?

    Google很罕見的在2014年8月6日發佈一篇Blog,公開說明https將作為搜尋引擎排序的指標,Google很少公開說明搜尋引擎的運作方式,尤其是正面回應搜尋引擎演算法的項目,所以Google正面回應、且承認SSL將會是SEO排名要素之一,那就代表這個項目很重要。

    從2014年迄今,SSL一直都是SEO排序指標項目,而且分數比重逐漸拉高,現在的網站如果想要經營SEO,SSL已經是標準配備,甚至SSL已經被列在SEF基礎項目之中,如果新建網站,請選擇適合的SSL證書,並要求網站開發商、工程師列為必要工作項目之一,如果是舊網站,請開始評估將您的網站轉換成https連線方式。

 

Chrome 56對SSL的不安全網站判定,與SEO認定有哪些不同?

    即使Google從2014年就大力宣傳SSL,很多國外的SEO網站也一直強調SSL的重要性,但在台灣SEO不被重視、安全環境也不重視的情況下一直都沒多少人討論,甚至直到2016年還有好幾間台灣的虛擬主機公司還要求安裝SSL必須要搭配獨立IP… 直到2016年9月8日Google藉由Moving towards a more secure web這篇文章公開聲明:2017年1月發佈的Chrome 56開始會將部份non-SSL的http網站列為不安全警告,並藉由Google Search Console發送警告訊息,SSL在台灣才開始受到網站經營者們重視,虛擬主機廠商也逐漸開放使用SNI建立SSL連線。

    藉由Chrome的市占率協助,Google改變推廣https普及推廣的方式,從SEO的正向加分誘導轉向到負向減法懲處,SEO的加分可以幫助增加流量,但是Chrome如果將網站列為不安全,並顯示不安全警告,使用者當然會因此心生疑慮而離開網站。

    Chrome 56是改變推動力度的第一步,剛開始Chrome會顯示不安全警告的網站只有兩種類型:使用http瀏覽,且頁面內會輸入信用卡號碼、或者登入帳號密碼的網站頁面。在這個頁面Chrome會在瀏覽器網址列標示為沒有SSL的HTTP連線被標示為不安全

Chrome 56開始提示不安全的項目

Chrome 56相對於Chrome 53,會開始將部份http網站標示為不安全。

 

推動SSL普及的困難

    既然Google認為SSL加密安全連線如此重要,為何不一次就將所有的HTTP網站都標示為不安全?或者透過其他更激烈的方法處理,而是要從2014年的SEO加分,逐年增加權重比例,以及透過2017年1月的Chrome56,以及2017年10月的Chrome 62逐步增加警告項目的作法慢慢推動變化?我認為大概是因為下面三個原因

過往HTTP non-SSL網站太多

    從網際網路發展以來原始採取的是http連線,採用SSL(TLS)加密的HTTPS連線是從1994年Netscape推出後才正式出現,一直以來網站的發展、建制過程都沒有https的存在,早期網路攻擊事件、網路安全議題也不是很熱門,所以SSL加密連線大多存在於大型企業或者一些會特意保護資料安全的機構。

 

    如果說要讓全球10億個網站在一夕之間從http轉換到https,這顯然是非常不現實的天方夜譚,所以Google早期藉由SEO加權方式,以及Google 2014年的 I/O大會Google透明度報告等方式逐漸讓人認知SSL的重要度,並自主轉換成https方式瀏覽。

 

SSL會消耗伺服器、瀏覽裝置運作效能

    SSL加密需要額外的運算效能,伺服器需要先將網頁內容加密-而後傳送到客戶端,使用者端的瀏覽器也需要將收到的內容解密之後才能顯示出來,相對的我們傳送出去的資料、數據也要先經過加密程序-傳送到伺服器並解密之後才能處理,這個過程都會造成額外的運算效能負擔,早期IT裝置運算效能不足,採用SSL連線將會大幅降低伺服器的運作效率,且早期的智慧型手機效能也不是很足夠,瀏覽https網站會很明顯卡卡頓挫感,對UX很不友善。

    當然以現在的技術而言,SSL所需要得運作效率已經影響不大,更別說導入了HTTP/2之後更加速了傳輸瀏覽的效率,SSL所造成的影響已經微乎其微。

早期的Firewall設備如果開啟SSL連線防護,流量效率會降低7成以上,只剩下30%甚至更低的流通量。

 

以前SSL要綁IP

    在網際網路發展早期,沒有IP資源不足的問題,也沒有設想過一台伺服器、一個IP會對應非常多的網址以及服務,所以SSL憑證原始設計上需要專屬IP才能正常運作,以前使用虛擬主機如果要使用SSL,也必須要綁一個專屬IP。

    但是IPv4的IP數量不足以應付如此龐大的需求,轉換IPv6需要更長的時間,所以在2003年有了SNI技術,藉由這個技術伺服器可以共用一個IP,但是讓服務的每一個網站都能使用HTTPS連線。只是伺服器、虛擬主機實際支援也是要經過一段時間汰換,才能正式落實這項技術,更別說台灣去年、前年台灣甚至還有主機商隱瞞SNI訊息,強制要求主機用戶一定要租用專屬IP才能使用SSL,直到今年SSL成為網站基礎需求之後,因應市場競爭才逐漸放鬆限制。

虛擬主機廠商不論是租用專屬IP,或者販售SSL證書,都可以有效提高客單價,增加營收。

 

客戶端(瀏覽器)不支援SNI

    就算伺服器支援SNI,但是使用者的瀏覽設備也需要支援SNI,2014年的時候WinXP仍然有非常龐大的市占率,而WinXP所有版本IE瀏覽器都不支援SNI瀏覽,Chrome也需要到 5、甚至6以上才支援SNI,且2014年Chrome還不具有影響市場變化的地位,Chrome從2016年3月市占率首度超過IE瀏覽器,9月Google公告要藉由Chrome的措施強硬推動SSL普及時,Chrome市占率已經達到54.41%,具有絕對的主導地位。

  • 2017年7月Chrome市占率來到59.57%的歷史新高

 

SNI支援列表:

 

瀏覽器

  • Internet Explorer 7 及更高版本(Windows Vista 及更高版本操作系統上的),Windows XP 的 Internet Explorer 全部不支援,即使是 Internet Explorer 8。
  • Mozilla Firefox 2.0 及更高版本
  • Opera 8.0 及更高版本 (必須開啓 TLS 1.1 協議)
  • Opera Mobile 至少是 10.1 beta 的 Android 版本
  • Google Chrome (Vista 或更高版本;XP 上的話要求 Chrome 6 及更高版本;OS X 10.5.7 及更高版本要求 Chrome 5.0.342.1 及更高版本)
  • Safari 2.1 及更高版本 (Mac OS X 10.5.6 及更高版本或 Windows Vista 及更高版本)
  • Konqueror/KDE 4.7 及更高版本
  • MobileSafari (在 Apple iOS 4.0 及更高版本的環境下的)
  • Android 預設瀏覽器 (在 Honeycomb 及更高版本的)
  • Windows Phone 7 MicroB (在 Maemo 下的)

 

伺服器

  • Apache 2.2.12 及更高版本 使用 mod_ssl (或用試驗性的 mod_gnutls 代替)
  • 上了patch的 lighttpd 1.4.x 或 1.5.x ,1.4.24+ 沒上patch就行
  • Nginx 在以 SNI 為支持的 OpenSSL 的陪同下
  • LiteSpeed 4.1 及更高版本
  • Pound 2.6 及更高版本
  • Apache Tomcat (Java 7) 及更高版本
  • Microsoft Internet Information Server (IIS) 8

 

資料來源:捕夢網

 

未來Google對於SSL可能的作法

    SSL普及不會是一夕之間就能改變的事情,Google從2014年的SEO誘導方式,讓網站自主轉換,到2016年的懲罰方式,強迫網站必須改變,這個過程只會越驅激烈,過去要取得SSL憑證,或者要使用HTTPS連線都是一件很麻煩的事情(前面兩個2014年的影片,底下很清晰表達當時大多數人仍然不贊同、且不滿Google的政策和作法),但是從Google正式將SSL納入SEO排序指標之後,網路環境已經有了很多的變化。

https已經逐漸成為網路瀏覽的主要方式,SSL取得不再困難遙不可及

 

Chrome 62 SSL新一波警告政策

    Google在2017年4月27號更新Next steps toward more connection security這篇文章,公告Google將於2017年10月更新的Chrome 62版,針對所有需要輸入資料的網頁都會標示為沒有SSL的HTTP連線被標示為不安全;相較於Chrome 56只針對信用卡號碼、密碼輸入的網頁標示不安全警告,Chrome 62顯然更加嚴格。

GSC的Chrome 62 HTTP瀏覽不安全警告

好想工作室的網站也在2017/08/17從GSC收到Google的政策警告。

 

所有http都將出現警告

    Google希望所有的網站都採用https連線,SSL將成為網站的基礎配備,最終Google將會把所有含有http連線的網頁都標示為沒有SSL的HTTP連線被標示為紅色不安全警告

 

SEO可能措施

    目前Google的搜尋引擎政策是用SEO排名要素增加HTTPS網站權重,幫SSL連線的網站增加曝光機率,目前Google沒有改變這個政策的傾向,仍然維持增加HTTPS網站權重的加分作法,但是依據Chrome的行為方式、以及Google改變的世界的意願,我相信未來Google有可能會改變SSL在SEO的行為方式,會怎麼改?可能性很多,也許是降低HTTP網站分數、也許是在排序上懲罰沒有使用SSL的網站,會不會有一天直接剔除HTTP網站的排序?也許有一天,這我也不知道:p

 

結論

    無論如何,SSL終究會成為主流,HTTP連線將會成為過去式,網路變化速度很快,這個變化的時間點就在眼前,新建網站一定要將SSL納入標準規格,如果租用的主機商無法提供SSL就換一間,現有網站請立即評估轉換HTTPS連線的可行度,並建立工作時間表,如果太久遠的網站,請考慮直接重新建立網站,畢竟除了SEF (SEO)、SSL因素以外,行動世代到來,網站也必須具備Mobile Friendly。