天天看點

阿裡雲CDN不止于加速:基于https國密算法建構安全資料傳輸鍊路

網絡資料安全得到前所未有的重視 HTTPS成為解決傳輸安全問題利器

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

下圖左側表示Chrome浏覽器在HTTPS頁面時會顯示安全挂鎖圖示,這是在2016年Chrome55版本上的新增功能,用于引導網際網路向安全的HTTPS協定轉變。右側是截止2020年1月,Chrome平台上HTTPS流量占比已經超過90%,另外通過Chrome平台的HTTPS浏覽時間占比也超過90%,這些資料都表明網絡資料安全得到了前所未有的重視。

阿裡雲CDN不止于加速:基于https國密算法建構安全資料傳輸鍊路

HTTPS的實作原理是什麼?

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

阿裡雲CDN不止于加速:基于https國密算法建構安全資料傳輸鍊路

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

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

行業資訊系統需要“安全可控” 國密算法标準化加速實施

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

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

阿裡雲CDN不止于加速:基于https國密算法建構安全資料傳輸鍊路

究竟什麼是國密算法?

國密算法是國家密碼局制定标準的一系列算法,包括了對稱加密算法,橢圓曲線非對稱加密算法,雜湊演算法。其中,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就是其中之一。

阿裡雲CDN不止于加速:基于https國密算法建構安全資料傳輸鍊路

(國密算法雙證書标準互動流程)

阿裡雲CDN不止于加速:基于https國密算法建構安全資料傳輸鍊路

(國密算法雙證書标準支援加密套件)

網際網路應用現行國密技術标準的難點

  • 協定性能問題,當應用需要承載海量請求的時候,基于TLS1.1或者TLS1.2的雙證書方案,需要2-RTT握手,會使得性能下降,導緻使用者體驗變差甚至交易失敗率上升等問題。
  • 證書數量問題。以手機端的移動應用為例,雙證書方案需要交換的證書量是标準的TLS協定的2倍,在弱網環境下會導緻RTT的增多及應用性能變差。
  • 易用性問題,如果直接套用目前的SSL VPN标準到網際網路場景,例如手機到伺服器的場景,則手機端需要增加VPN用戶端進行撥号,然後才能開始正常的業務互動,這會破壞手機應用的易用性。
  • 技術路線沖突問題。新型技術在網際網路行業中的演進十分快速,下一代網絡通信協定QUIC已經在被逐漸應用,QUIC标準目前唯一指定加密協定就是标準的TLS1.3。對TLS1.3協定層面的任何修改,都會導緻和QUIC協定的不相容,進而導緻相容性問題的發生。
  • 技術标準推廣問題。當一種技術标準如果能得到主流開源社群的認可和支援,就會在網際網路行業得到快速推廣,反之則很難。開源社群對修改協定流程的接納程度很低,這就導緻了國密雙證書TLS協定難以擴大推廣使用。但是獨立的密碼學算法則沒有這個問題,是以SM系列算法要比修改版的TLS協定更容易在開源社群中推廣。

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

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

阿裡雲CDN不止于加速:基于https國密算法建構安全資料傳輸鍊路

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

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

阿裡雲CDN不止于加速:基于https國密算法建構安全資料傳輸鍊路

(國密算法單證書标準互動過程)

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

阿裡雲CDN不止于加速:基于https國密算法建構安全資料傳輸鍊路

(國密算法單證書标準支援加密套件)

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

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

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

阿裡雲CDN不止于加速:基于https國密算法建構安全資料傳輸鍊路

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

正如前文所述,随着密碼法頒布及各項密碼相關标準的釋出和實施,國密合規已經成為國家高度關注的重點,尤其是對金融和政企行業的資料安全提出了更高的要求。阿裡雲CDN推出的國密能力,能夠幫助客戶建構更加安全的資料傳輸鍊路,進而滿足國密合規的要求。

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

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

點選回顧阿裡雲政企安全加速解決方案釋出會詳情

活動福利:

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

點選填寫表單參與活動

答疑釘釘群:34249460

繼續閱讀