阿里雲CDN不止於加速:基於https國密算法構建安全數據傳輸鏈路

網絡數據安全得到前所未有的重視 HTTPS成爲解決傳輸安全問題利器

大家都知道,HTTP 本身是明文傳輸的,沒有經過任何安全處理,網站HTTPS解決方案通過在HTTP協議之上引入證書服務,完美解決網站的安全問題。

下圖左側表示Chrome瀏覽器在HTTPS頁面時會顯示安全掛鎖圖標,這是在2016年Chrome55版本上的新增功能,用於引導互聯網向安全的HTTPS協議轉變。右側是截止2020年1月,Chrome平臺上HTTPS流量佔比已經超過90%,另外通過Chrome平臺的HTTPS瀏覽時間佔比也超過90%,這些數據都表明網絡數據安全得到了前所未有的重視。

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-FbxFcOqY-1589965039297)(https://img.alicdn.com/tfs/TB1hWdFG1H2gK0jSZJnXXaT1FXa-678-371.png)]

HTTPS的實現原理是什麼?

HTTPS協議通過TCP層之上引入TLS/SSL協議,來實現對HTTP數據的保護,實現數據加密、完整性校驗以及防篡改。整個HTTPS過程包括:TCP建聯、SSL握手、應用數據加密傳輸階段。其中SSL握手的目的是爲了在服務端和客戶端協商出一個對稱密鑰,在應用數據傳輸階段使用這對稱密鑰進行數據的加密和解密。

9989c5b90f96dedb20d3e717592eeed2c54bdb86.jpeg

在HTTPS交互過程中主要使用三種算法,首先SSL握手階段用到非對稱加密的算法,通過公鑰和私鑰對數據記性加密解密。在應用數據加密傳輸的階段,主要使用的是對稱加密的算法和hash算法。

目前,國際上通用的非對稱加密算法包括rsa算法和ecdsa算法。對稱加密算法主要是aes分組加密算法族以及chacha20流式加密,其中aes加密根據密鑰位數和加密模式還能細分成多種不同的算法,所以這裏寫成aes(x),哈希算法主要是sha-1、sha-2、sha-3算法族。

行業信息系統需要“安全可控” 國密算法標準化加速實施

隨着金融安全高度不斷上升,近年來國家有關機關和監管機構提出了推動國密算法應用實施、加強行業安全可控的要求。密碼算法是保障信息安全的核心技術,尤其是最關鍵的銀行業核心領域長期以來都是沿用3DES、SHA-1、RSA等國際通用的密碼算法體系及相關標準。

國家高度重視商用密碼工作,自1999年國務院頒佈《商用密碼管理條例》以來,截止目前,已經有多項政策陸續出臺,推進國密算法的實施落地。

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-80kytyp3-1589965039311)(https://img.alicdn.com/tfs/TB1OQVBG7Y2gK0jSZFgXXc5OFXa-681-383.png)]

究竟什麼是國密算法?

國密算法是國家密碼局制定標準的一系列算法,包括了對稱加密算法,橢圓曲線非對稱加密算法,哈希算法。其中,SM1和SM4爲對稱加密,SM1加密強度與AES相當。調用該算法時,需要硬件實現。SM4的密鑰長度和分組長度均爲128位。SM2爲非對稱加密,基於ECC。該算法基於ECC,故其簽名速度與祕鑰生成速度都快於RSA。SM3 密碼哈希算法,摘要長度爲256位。

國密算法具備更安全、更快速以及自主可控的優勢,在安全層面,SM2作爲一種ECC算法的安全性要高於2048位的RSA。同時SM3的摘要長度爲256bit,安全強度也是要高於MD5算法及SHA1算法;在通訊過程中,256位的SM2算法相比於2048位的RSA算法,可以傳輸更少的數據,也就意味着更少的傳輸時間,同時在簽名過程上,SM2算法速度要優於RSA大約在10倍左右。

國密算法與TLS協議的結合

根據中華人民共和國密碼行業標準的規定,目前和互聯網行業重度相關的國密相關標準,除了獨立的SM2,SM3,SM4等算法外,就是雙證書TLS協議。這套TLS協議是基於RFC 4346 TLSv1.1修改而來,主要在SSL握手環節引入了加密證書和簽名證書的方式,並對TLSv1.1的握手流程進行了一些修改以適應雙證書的結構。GM/T 0024的標準名稱是《SSL VPN技術規範》,其宗旨是規範SSL VPN設備的通信協議以及增強互聯互通性。個人用戶使用VPN的情況較少,而互聯網行業大部分以to C爲主,大量的個人用戶一般使用更加輕量級且通用的手段,例如爲解決Web安全的HTTPS就是其中之一。

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-l4fcN1Hc-1589965039315)(https://img.alicdn.com/tfs/TB1gEBxGVY7gK0jSZKzXXaikpXa-575-418.png)]

(國密算法雙證書標準交互流程)

9989c5b90f96dedb20d3e717592eeed2c54bdb86.jpeg

(國密算法雙證書標準支持加密套件)

互聯網應用現行國密技術標準的難點

  • 協議性能問題,當應用需要承載海量請求的時候,基於TLS1.1或者TLS1.2的雙證書方案,需要2-RTT握手,會使得性能下降,導致用戶體驗變差甚至交易失敗率上升等問題。

  • 證書數量問題。以手機端的移動應用爲例,雙證書方案需要交換的證書量是標準的TLS協議的2倍,在弱網環境下會導致RTT的增多及應用性能變差。

  • 易用性問題,如果直接套用當前的SSL VPN標準到互聯網場景,例如手機到服務器的場景,則手機端需要增加VPN客戶端進行撥號,然後才能開始正常的業務交互,這會破壞手機應用的易用性。

  • 技術路線衝突問題。新型技術在互聯網行業中的演進十分快速,下一代網絡通信協議QUIC已經在被逐漸應用,QUIC標準目前唯一指定加密協議就是標準的TLS1.3。對TLS1.3協議層面的任何修改,都會導致和QUIC協議的不兼容,從而導致兼容性問題的發生。

  • 技術標準推廣問題。當一種技術標準如果能得到主流開源社區的認可和支持,就會在互聯網行業得到快速推廣,反之則很難。開源社區對修改協議流程的接納程度很低,這就導致了國密雙證書TLS協議難以擴大推廣使用。但是獨立的密碼學算法則沒有這個問題,因此SM系列算法要比修改版的TLS協議更容易在開源社區中推廣。

國密算法單證書標準的推進

基於以上的困難,螞蟻進入提出了單證書的方案,這個草案是基於TLS1.3的交互流程,新增國密算法套件進行支持。

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-ozzCnh2R-1589965039320)(https://img.alicdn.com/tfs/TB1STtyG4D1gK0jSZFsXXbldVXa-1198-662.png)]

(國密算法單證書標準化推進)

相較於之前2個RTT的性能開銷來說,TLS1.3完整握手開銷只有1個RTT,性能有很大提升。並且TLS1.3只支持安全等級較高的加密算法,整個協議安全性也得到了較大提升。

9989c5b90f96dedb20d3e717592eeed2c54bdb86.jpeg

(國密算法單證書標準交互過程)

草案中描述的兩個加密套件是需要添加到TLS1.3中,分別是TLS-SM4-GCM-SM3及TLS-SM4-CCM-SM3。這兩個加密套件的基本含義是,非對稱加密使用的是SM2算法,對稱加密使用的SM4算法,哈希算法使用的SM3算法,不同的部分是分別使用了不同的對稱加密模式,一種使用GCM,另一種使用CCM模式,這兩種模式都屬於AEAD,所以滿足TLS1.3對算法的要求。由於這種方式具備更強的通用性,所以能夠得到更快的推廣。

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-SUOY91sl-1589965039324)(https://img.alicdn.com/tfs/TB1wa0DG4D1gK0jSZFKXXcJrVXa-1194-536.png)]

(國密算法單證書標準支持加密套件)

標準化國密算法在阿里雲CDN上的具體應用

阿里雲的CDN支持國密是通過Tengine加上babassl兩個軟件的結合實現的,其中Tengine是阿里雲CDN的接入開源框架,babassl是螞蟻金服爲了支持國密算法,基於openssl1.1.1的開源版本進行深度定製開發的代碼庫。通過阿里雲CDN和螞蟻金服的深入合作爲客戶打造國密合規的代理服務。該軟件部署到全網2000+節點,對外提供國內最大規模的國密接入能力。

第一階段阿里雲CDN會先支持接入層的國密算法能力,通過控制檯上傳國密證書後,配置選擇單證書或者雙證書方案,客戶端即可通過CDN邊緣節點完成國密算法的接入。這裏更推薦客戶使用的是單證書方案,該方案的通用性比較高,與國際標準接軌,同時該方案的客戶端開發複雜度低,能降低開發成本。

9989c5b90f96dedb20d3e717592eeed2c54bdb86.jpeg

第二階段,阿里雲CDN會支持全鏈路的國密算法能力,包括接入層、節點之間的加密傳輸鏈路以及回源的數據鏈路,通過這個能力極大保障客戶數據的安全。但是需要客戶端以及源站均支持國密的接入能力。

正如前文所述,隨着密碼法頒佈及各項密碼相關標準的發佈和實施,國密合規已經成爲國家高度關注的重點,尤其是對金融和政企行業的數據安全提出了更高的要求。阿里雲CDN推出的國密能力,能夠幫助客戶構建更加安全的數據傳輸鏈路,從而滿足國密合規的要求。

這裏有個好消息是:babassl在充分驗證可用性和安全性之後有計劃作爲開源軟件推出,客戶端和源站的開發可以基於babassl代碼庫實現。

爲了更好的支持國密算法的推廣,螞蟻金服相關團隊針對國密算法的性能進行深度優化,以openssl1.1.1版本的實現爲基線,目前sm4能夠實現2倍以上的性能優化,sm2能夠實現5倍以上的性能優化。算法性能的提升讓阿里雲CDN能夠對外提供更加優質的國密服務,歡迎更多用戶一同參與到國密算法的開發和使用,一起共建安全合規的互聯網環境。

點擊回顧阿里雲政企安全加速解決方案發佈會詳情

活動福利
2020年6月30日前,CDN加速10Mbps以內帶寬免費試用1個月,30Gbps DDoS防護、高級版WAF試用1周,並贈送一次漏洞掃描服務,總名額限100個,先到先得。

點擊填寫表單參與活動

答疑釘釘羣:34249460

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章