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

   昨天寫的文章裏了討論了數據傳輸的安全性的問題,最後一部分提到了經過HTTPS解決數據傳輸安全性的方案。那麼一個新問題又來了,實施全站HTTPS的過程當中,咱們可能會遇到哪些技術問題?因此我今天和你們一塊兒來算一下這個帳,將技術成本理清楚。
算法


準備工做chrome


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的升級,確保各級環境保持同一套網絡協議。tcp


性能方面的挑戰


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


1.網絡耗時增長,簡單來講須要多幾回握手,網絡耗時變長,用戶從http跳轉到https還要一點時間。

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

2.計算耗時增長,須要更好機器性能,https要多作一次RSA校驗。

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


安全方面的挑戰


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

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

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


最後一點總結


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



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

歡迎轉載,帶上如下二維碼便可

相關文章
相關標籤/搜索