衝量網絡 | 可信計算與側信道攻擊

在這裏插入圖片描述
在日常生活中,有時我們會遇到這樣的情況,比如在旅行時,行李箱往往具有3到4位的密碼,有時我們會忘記這個密碼,如果一個個去嘗試,哪怕只有三位數,也需要從000試到999,這實在是太費時費力了,但如果把它撬開可能會把密碼鎖完全搞壞。這時,就出現了一種快速開鎖方法:即從密碼鎖的三個轉盤往裏看,就像電影裏破解保險箱密碼一樣,當三個轉盤的缺口轉到同一角度時,同時轉動密碼鎖9次便可以打開行李箱。從密碼學角度講,這就是一種側信道攻擊。
在這裏插入圖片描述
在這裏插入圖片描述
側信道攻擊(Side Channel Attack 簡稱SCA),又稱爲邊信道攻擊,其主要是針對加密電子設備在運行過程中進行的攻擊,當時間消耗、功耗消耗之類的側信道信息泄露從而導致加密相關的內容進行攻擊,其就被稱爲側信道攻擊,其強度和有效性都強於傳統的暴力破解或者數學破解,例如彩虹表等,因此容易帶來意想不到的威脅。

對側信道攻擊研究的歷史起源於20世紀90年代,傳統的密碼分析技術侷限於算法的數學結構,其攻擊效果往往不佳,當然,在之後的技術發展中,對於窮舉法等暴力破解方法, 有着彩虹表等高效率破解法,但另一層面,側信道的效率相比之下更高,因此國內外密碼學界,都在加強算法實現的分析方法研究,側信道分析技術作爲一種新的密碼分析方法迅速成爲研究熱點。

原理層面,傳統密碼方案在實際應用中都會實現在具體的硬件平臺上,形成密碼模塊、密碼芯片、密碼系統等,從而完成所需的密碼功能,用於滿足特定的信息安全需求。而這些模塊都在特定的數字電路中進行。

而對於數字電路來說,單個基本單元只有0和1兩種狀態,如果你針對四個不同的狀態ABCD進行破解,例如狀態A代表1,狀態D代表0,而狀態B和C都處於兩者之間,那當我們監測時,便可以辨別其是0或者1,數字電路執行操作的過程可以看作狀態從A到D,再從D到A循環往復的過程。因此當中間狀態花費更多的“時間”和“能量”,產生更多的變量,哪怕只是很微小的,例如每個狀態所發出的頻率的細微差異,當我們能夠有效檢測和測量這種“時間”和“能量”的變化時,就能夠推斷出所在的狀態或操作。

通過上述過程,我們便可以推斷出密碼實現運行過程中的操作或數據,從而能夠進行密碼破解。這類通過密碼實現運行過程中的“時間”、“能量”或其他類似信息進行密碼分析的方法稱爲側信道攻擊。
在這裏插入圖片描述
相比於傳統密碼分析,側信道攻擊擁有更大危害,實際上,密碼系統的安全性不僅取決於密碼算法本身的數學安全性,更嚴重依賴於密碼實現的物理安全性。而傳統密碼分析一般只用於分析密碼算法的數學層面安全性。

理論上來說,其是針對密碼算法本身和各密碼組件的理論分析方法,例如窮舉、差分、線性分析、代數分析等一系列方法,但側信道攻擊主要針對的是物理安全性,用能量分析攻擊、電磁分析攻擊、計時攻擊等一系列方法對其實現安全性進行分析。

因此在實際攻擊效果上,側信道攻擊能力也遠遠強於傳統方法,根據相關的研究表明,針對無保護的密碼系統,哪怕是128位之類的長度,其破解速度還是能快到1分鐘以內,其對密碼安全構成了巨大威脅。
在這裏插入圖片描述
側信道攻擊本質是利用密碼實現運行過程中產生的依賴於密鑰的側信息來實施密鑰恢復攻擊的,因此防禦對策的核心就是減弱甚至消除這種側信息與密鑰之間的直接依賴性。一般會引入隨機數來將密鑰分解的方法,使得側信息與密鑰的關係減弱。

而衝量網絡則提出了另一種創新的解決方案——利用SGX可信計算技術。

Intel SGX已經提供了強大的可信安全計算基礎,他們並不保證裏面運行軟件的內存安全性。比如Use After Free(釋放後使用)、Double Free(雙釋放)、Buffer Overflow(緩存溢出)等內存安全問題爲攻擊者提供了侵入TEE的可乘之機。

衝量網絡將可信算法進行重構,從而進行加強防禦,其已經被證明是一套可行的解決方案。衝量網絡將與內存安全相關的模塊使用Rust語言進行重構,Rust語言編譯時即保證內存安全的方案省去了運行時檢查內存安全問題的煩惱,增量迭代時也能延續內存安全特性,省去了昂貴的形式化證明。同時,由於絕大多數檢查發生在編譯時,運行時極爲高效,同時,並不會犧牲太多性能。

而對於解決側信道問題往往會帶來擴展性問題的副作用,衝量網絡將兼容社區主流的TEE技術框架能力,並參與社區建設,持續優化保障內存安全的解決方案。比如Graphene、Openenclave、Asylo、Teaclave等。

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