聊聊全站HTTPS帶來的技術挑戰

ForestXie發表於2017-10-18

   昨天寫的文章裡了討論了資料傳輸的安全性的問題,最後一部分提到了通過HTTPS解決資料傳輸安全性的方案。那麼一個新問題又來了,實施全站HTTPS的過程中,我們可能會遇到哪些技術問題?所以我今天和大家一起來算一下這個賬,將技術成本理清楚。


準備工作


1.購買證書,網站使用HTTPS需要申請安全證書,目前來說還是比較繁瑣的,而且對小公司來說是有一些成本在。另外,一定要選正規的機構,否則你的網站以後使用主流瀏覽器,如chrome訪問,會被提示大大的警告,告訴使用者該證書有問題。

2.頁面裡所有資源都要改成走https,包括:圖片、js、form表單等等,否則瀏覽器就會報警。

3. 確保用到的CDN節點都支援HTTPS,如果是自建IDC, 必須要保證全國甚至世界範圍的 idc 和 cdn 節點,都得覆蓋到。


CDN 使用 https 常見的方案有:

1 網站主提供私鑰給 cdn,回源使用 http。

2 cdn 使用公共域名,公共的證書,這樣資源的域名就不能自定義了。回源使用 http。

3 僅提供動態加速,cdn 進行 tcp 代理,不快取內容。

4. 所有的開發、測試環境都要做https的升級,確保各級環境保持同一套網路協議。


效能方面的挑戰


做好以上的技術準備後,我們還必須意識到實施HTTPS後帶來的效能問題:


1.網路耗時增加,簡單來說需要多幾次握手,網路耗時變長,使用者從http跳轉到https還要一點時間。

對於這一塊的優化,有Session ticket或者Session Cache等優化方案,不過也是各有優缺點。

2.計算耗時增加,需要更好機器效能,https要多做一次RSA校驗。

對於這一塊的優化,主要的方式是採用最新的openssl協議,使用硬體加速,優先使用ECC金鑰等等。


安全方面的挑戰


關於這一塊,常見的安全隱患包含:降級攻擊和重新協商攻擊。

對於前者,攻擊者偽造或者修改"client hello "訊息,使得客戶端和伺服器之間使用比較弱的加密套件或者協議完成通訊。對於重新協商攻擊,是攻擊者利用協商後安全演算法偏弱,試圖竊取傳輸內容,並且可以不斷髮起完全握手請求,觸發服務端進行高強度計算並引發服務拒絕。

當然,這一塊,在基礎廠商或者雲產商的努力下,對於我們一般的業務使用者,幾乎不用關心協議層上面安全的問題。我在這裡提出的目的,還是想說明一點,安全問題一直都不能放鬆。


最後一點總結


切換成HTTPS是必然趨勢,相信會有越來越多的站點加入進來,而且完成後,它能給我們帶來的收益是巨大的。對於我們技術團隊而言,在實行之前,一定要考慮清楚它背後的技術成本,並做好對應的技術儲備,做好HTTP切換為HTTPS的上線流程,確保萬無一失。



掃描二維碼或手動搜尋微信公眾號【架構棧】: ForestNotes

歡迎轉載,帶上以下二維碼即可

聊聊全站HTTPS帶來的技術挑戰

相關文章