聊聊全站HTTPS帶來的技術(shù)挑戰(zhàn)

昨天寫的文章里了討論了數(shù)據(jù)傳輸?shù)陌踩?/a>的問題,最后一部分提到了通過HTTPS解決數(shù)據(jù)傳輸安全性的方案。那么一個新問題又來了,實施全站HTTPS的過程中,我們可能會遇到哪些技術(shù)問題?所以我今天和大家一起來算一下這個賬,將技術(shù)成本理清楚。

準備工作

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

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

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

CDN 使用 https 常見的方案有:

1 網(wǎng)站主提供私鑰給 cdn,回源使用 http。

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

3 僅提供動態(tài)加速,cdn 進行 tcp 代理,不緩存內(nèi)容。

4.所有的開發(fā)、測試環(huán)境都要做https的升級,確保各級環(huán)境保持同一套網(wǎng)絡(luò)協(xié)議。

性能方面的挑戰(zhàn)

做好以上的技術(shù)準備后,我們還必須意識到實施HTTPS后帶來的性能問題:

1.網(wǎng)絡(luò)耗時增加,簡單來說需要多幾次握手,網(wǎng)絡(luò)耗時變長,用戶從http跳轉(zhuǎn)到https還要一點時間。

對于這一塊的優(yōu)化,有Session ticket或者Session Cache等優(yōu)化方案,不過也是各有優(yōu)缺點。

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

對于這一塊的優(yōu)化,主要的方式是采用最新的openssl協(xié)議,使用硬件加速,優(yōu)先使用ECC密鑰等等。

安全方面的挑戰(zhàn)

關(guān)于這一塊,常見的安全隱患包含:降級攻擊和重新協(xié)商攻擊。

對于前者,攻擊者偽造或者修改"client hello "消息,使得客戶端和服務(wù)器之間使用比較弱的加密套件或者協(xié)議完成通信。對于重新協(xié)商攻擊,是攻擊者利用協(xié)商后安全算法偏弱,試圖竊取傳輸內(nèi)容,并且可以不斷發(fā)起完全握手請求,觸發(fā)服務(wù)端進行高強度計算并引發(fā)服務(wù)拒絕。

當然,這一塊,在基礎(chǔ)廠商或者云產(chǎn)商的努力下,對于我們一般的業(yè)務(wù)用戶,幾乎不用關(guān)心協(xié)議層上面安全的問題。我在這里提出的目的,還是想說明一點,安全問題一直都不能放松。

最后一點總結(jié)

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

掃描二維碼或手動搜索微信公眾號【架構(gòu)?!浚?ForestNotes

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容