2017年,美國(guó)征信機(jī)構(gòu)Equifax的征信系統(tǒng)遭遇黑客入侵,導(dǎo)致1.47億人的個(gè)人信息外泄!這個(gè)巨大的失誤導(dǎo)致公司面臨集體訴訟,最后不得不掏出4.25億美元的和解金。本次數(shù)據(jù)泄露造成的損失包括身份盜用、欺詐行為、經(jīng)濟(jì)損失以及善后處理費(fèi)用。無論是個(gè)人隱私、國(guó)家安全還是生命安全,數(shù)據(jù)已成為核心焦點(diǎn),因此我們必須采取嚴(yán)密的保護(hù)措施。此次Equifax事件中,黑客利用軟件中的一個(gè)漏洞發(fā)動(dòng)了攻擊,這給我們敲響了警鐘,提醒我們必須重視電子系統(tǒng)中的數(shù)據(jù)安全。更值得關(guān)注的是,漏洞不只是存在于軟件中,硬件中也一樣存在。
隨著科技的不斷進(jìn)步,系統(tǒng)變得越來越復(fù)雜,硬件也因此成為不法分子眼中的突破口。多芯片設(shè)計(jì)逐漸成為主流,但這也意味著攻擊面正在不斷擴(kuò)大。在這樣的背景下,半導(dǎo)體行業(yè)的安全性成為了重中之重。
保護(hù)片上系統(tǒng)(SoC)接口及相關(guān)數(shù)據(jù)的安全至關(guān)重要,這關(guān)乎到防止不法分子非法訪問、刪除或篡改數(shù)據(jù)。無論是在高性能計(jì)算(HPC)、移動(dòng)通信、物聯(lián)網(wǎng)領(lǐng)域,還是在汽車SoC中,我們都需要在確保數(shù)據(jù)安全的同時(shí),優(yōu)化安全實(shí)現(xiàn),以保持接口的性能并降低對(duì)延遲和面積的影響。
DDR等高帶寬接口正在迅速增多,接口速度也一代比一代快。想保護(hù)數(shù)據(jù),就需要保護(hù)多個(gè)重要領(lǐng)域,DRAM就是其中一個(gè)重要領(lǐng)域。Rowhammer、RAMbleed都是DRAM特有的漏洞。這些漏洞可能會(huì)被不法分子利用,導(dǎo)致數(shù)據(jù)泄露或損壞,甚至竊取加密密鑰。
接下來,我們將深入探討黑客如何利用DRAM設(shè)備破壞數(shù)據(jù)和竊取信息,以及在SoC中保護(hù)DDR接口時(shí)可以采取的策略。希望通過這些內(nèi)容能讓開發(fā)者們更好地理解硬件安全的重要性,了解如何在實(shí)際操作中實(shí)施有效的防護(hù)措施。
存儲(chǔ)器攻擊原理
首先一起來看一下DRAM特有的安全漏洞:
Rowhammer:采用Rowhammer策略的攻擊者意圖修改或破壞數(shù)據(jù)。Rowhammer攻擊會(huì)高速重復(fù)讀取存儲(chǔ)器行中的數(shù)據(jù),導(dǎo)致相鄰行內(nèi)頁表?xiàng)l目中的位發(fā)生反轉(zhuǎn)(從1到0或從0到1)。谷歌Project Zero團(tuán)隊(duì)表示,攻擊者可以通過這種方式,對(duì)整個(gè)物理存儲(chǔ)器進(jìn)行讀寫訪問。隨著尺寸不斷縮小,DRAM芯片更易受到這類攻擊,因?yàn)?a class="article-link" target="_blank" href="/tag/%E6%99%B6%E4%BD%93%E7%AE%A1/">晶體管更密集地堆積在一起,導(dǎo)致在這種攻擊過程中發(fā)生溢出的風(fēng)險(xiǎn)變得更高。
RAMBleed:RAMBleed用于竊取跨系統(tǒng)傳輸?shù)臄?shù)據(jù)。RAMBleed攻擊與Rowhammer攻擊原理相同,但會(huì)讀取信息,而不是修改信息,因此對(duì)存儲(chǔ)器中數(shù)據(jù)的機(jī)密性造成了威脅。通過RAMBleed攻擊方式,攻擊者可以從DRAM中提取信息。
冷啟動(dòng)攻擊:攻擊者可以通過冷啟動(dòng)攻擊實(shí)際接觸到系統(tǒng)。他們可以借此對(duì)特定系統(tǒng)進(jìn)行硬重置,訪問啟動(dòng)前的物理存儲(chǔ)器數(shù)據(jù)來檢索加密密鑰,并造成嚴(yán)重破壞。
通過設(shè)計(jì)保護(hù)存儲(chǔ)器接口
從本地到數(shù)據(jù)中心,存儲(chǔ)資源越來越豐富。如何保證這些存儲(chǔ)資源和其中的數(shù)據(jù)安全,成為了一個(gè)重要的問題。為了應(yīng)對(duì)這一挑戰(zhàn),開發(fā)者們開始尋求高性能、低延遲的存儲(chǔ)器加密解決方案,以便在采用最新一代DDR、LPDDR、GDDR和HBM存儲(chǔ)器接口時(shí),實(shí)現(xiàn)數(shù)據(jù)保護(hù)和性能的雙重保障。
糾錯(cuò)碼(ECC)曾經(jīng)備受歡迎,但它提供的恢復(fù)能力有限,并不能提升安全性,反而還會(huì)留下更多未被發(fā)現(xiàn)的漏洞,是一種不成熟的存儲(chǔ)器完整性保護(hù)方法。在尋找更為可靠的加密算法之前,開發(fā)者們常常將ECC作為權(quán)宜之計(jì)。
真正的存儲(chǔ)器安全,需要的是那些基于標(biāo)準(zhǔn)的加密技術(shù)。它們不僅解決數(shù)據(jù)的保密性,更能確保其完整性。例如,利用AES-XTS加密,可以輕松防范Rowhammer攻擊。相比之下,奇偶校驗(yàn)/ECC在面對(duì)位翻轉(zhuǎn)問題時(shí),只能發(fā)現(xiàn)1到2個(gè),而加密技術(shù)卻能全面覆蓋,不留死角。
加密后的數(shù)據(jù)在存儲(chǔ)器中更像是一堆隨機(jī)的亂碼,使得Rowhammer攻擊無從下手。而適當(dāng)?shù)拿荑€刷新機(jī)制,也能有效防范RAMBleed和冷啟動(dòng)攻擊。除了確保數(shù)據(jù)的私密性,開發(fā)者還需要采用如哈希加密算法等策略,來保證數(shù)據(jù)真實(shí)可靠,確保在任何情況下,數(shù)據(jù)都不會(huì)被惡意修改。
然而,將安全性融入DDR接口設(shè)計(jì)并非易事。首先,安全性需要做到極致,因?yàn)槿魏涡⌒〉氖韬龆伎赡茏屨麄€(gè)系統(tǒng)及其數(shù)據(jù)陷入危機(jī)。例如,密鑰的生成和管理應(yīng)在SoC的可信/安全區(qū)域進(jìn)行,并通過專用通道安全地分發(fā)給加密模塊。此外,整體的安全架構(gòu)還需考慮如何防止密鑰回讀以及控制配置的泄露。
另一個(gè)挑戰(zhàn)是,存儲(chǔ)器加密并非毫無代價(jià)。它可能會(huì)對(duì)功耗、性能、面積(PPA)和延遲產(chǎn)生影響。開發(fā)者需要在確保DDR接口既安全又符合標(biāo)準(zhǔn)的同時(shí),還要對(duì)其進(jìn)行高度優(yōu)化。
我們見證了完整性和數(shù)據(jù)加密(IDE)安全策略在PCI Express?(PCIe?)和Compute Express Link(CXL)接口中的迅速普及,現(xiàn)在DDR和LPDDR等存儲(chǔ)器接口也將經(jīng)歷類似的發(fā)展軌跡??萍嫉倪M(jìn)步永不停歇,開發(fā)者們正不斷探索更為智能的安全解決方案。與此同時(shí),那些企圖破壞安全的罪犯?jìng)円沧兊迷絹碓浇苹?。面?duì)這一切,我們需要確保自己的安全策略能夠緊跟時(shí)代的步伐,適應(yīng)不斷變化的威脅環(huán)境。
如何保護(hù)SoC中DDR接口安全
SoC中的DDR接口應(yīng)該如何保護(hù)呢?下面提供幾種策略思路:
設(shè)計(jì)安全的基礎(chǔ)設(shè)施,確保基礎(chǔ)安全可靠,包括利用控制面板來實(shí)現(xiàn)身份驗(yàn)證和密鑰管理,以及利用數(shù)據(jù)面來確保數(shù)據(jù)加密和完整性。
遵循相關(guān)標(biāo)準(zhǔn)。存儲(chǔ)器利用各種基于標(biāo)準(zhǔn)的加密算法(比如各種密鑰大小的AES-XTS)來確保數(shù)據(jù)保密性,如NIST SP800-38E中所述。
實(shí)施高度優(yōu)化的解決方案,確保可以有效地進(jìn)行擴(kuò)展,以支持存儲(chǔ)器接口的最新帶寬要求。利用流水線架構(gòu),實(shí)現(xiàn)高效的調(diào)整計(jì)算、密鑰刷新和低延遲。考慮采用各種優(yōu)化選項(xiàng),例如在一個(gè)循環(huán)周期運(yùn)行多個(gè)AES輪次,并使用特定的AES S盒實(shí)現(xiàn)來盡可能優(yōu)化面積或提高頻率。
支持按區(qū)域加密/解密,為各種用例提供靈活性。
在安全的環(huán)境中生成和管理密鑰。存儲(chǔ)器加密解決方案需要控制面組件來進(jìn)行身份驗(yàn)證和管理。通常,這可以通過使用具有信任根的安全隔離區(qū)來解決。安全隔離區(qū)需要支持通過固件更新進(jìn)行調(diào)整,以幫助確保密鑰管理策略經(jīng)得起未來考驗(yàn),包括可能發(fā)生的算法變化。
在保護(hù)DRAM數(shù)據(jù)方面,一種解決方案是先使用密鑰對(duì)數(shù)據(jù)進(jìn)行加密,然后再發(fā)送到DDR控制器,但這種方法并不理想,因?yàn)榧用苣K必須管理大量操作,以確保數(shù)據(jù)包大小合適。例如,當(dāng)應(yīng)用程序向存儲(chǔ)器中寫入一個(gè)字節(jié)的數(shù)據(jù)時(shí),加密模塊需要讀取相應(yīng)存儲(chǔ)器位置,并入新寫入的字節(jié),最后再寫回存儲(chǔ)器中。加密模塊與存儲(chǔ)器相距越遠(yuǎn),要管理的東西就越多。這不僅影響性能預(yù)算(對(duì)于提高存儲(chǔ)器帶寬來說代價(jià)太高),而且因?yàn)橐赟oC上傳輸數(shù)據(jù),還必須注意性能下降問題。
最佳的解決方案是在DDR或LPDDR控制器內(nèi)緊密耦合加密/解密功能,從而盡可能地提高存儲(chǔ)器效率并降低總體延遲。同時(shí),控制器需要盡可能地靠近存儲(chǔ)器。
IME安全模塊為數(shù)據(jù)提供安全保障
新思科技適用于DDR/LPDDR的內(nèi)嵌存儲(chǔ)加密(IME)安全模塊有助于確保數(shù)據(jù)保密性,無論數(shù)據(jù)在傳輸還是存儲(chǔ)過程中,都能保障數(shù)據(jù)安全。這款解決方案基于AES-XTS算法,嚴(yán)格遵循相關(guān)標(biāo)準(zhǔn)和認(rèn)證要求。開箱即用,能夠讓包括新思科技DDR5或LPDDR5控制器在內(nèi)的存儲(chǔ)器控制器實(shí)現(xiàn)高效吞吐量。
它支持AES-XTS的所有密鑰大小,包括128位、256位密鑰,并支持可擴(kuò)展的128位、256位和512位數(shù)據(jù)路徑。該安全模塊提供按區(qū)域保護(hù)存儲(chǔ)器的功能,通過按地址或邊帶選擇密鑰,針對(duì)不同應(yīng)用進(jìn)行調(diào)整,以達(dá)到最佳PPA。新思科技的DDR5和LPDDR5控制器中實(shí)現(xiàn)了存儲(chǔ)器加密,不僅能夠幫助開發(fā)者節(jié)省并優(yōu)化性能預(yù)算,而且延遲非常低。
隨著越來越多的工作負(fù)載遷移到云端運(yùn)行,市場(chǎng)對(duì)虛擬化的需求一直在不斷增長(zhǎng)。新思科技的IME安全模塊能夠管理不同虛擬環(huán)境中不同區(qū)域的數(shù)據(jù)保護(hù),非常適合支持各種云計(jì)算虛擬化環(huán)境。
結(jié)語
除了DDR/LPDDR安全接口外,新思科技還為各種使用廣泛的協(xié)議提供完整的標(biāo)準(zhǔn)化安全接口解決方案,具體協(xié)議包括PCIe、CXL、HDMI、DisplayPort、USB Type-C和以太網(wǎng)。這些解決方案能夠滿足最具挑戰(zhàn)性的要求,讓開發(fā)者能夠在其SoC中快速實(shí)現(xiàn)所需的安全性,從而降低安全風(fēng)險(xiǎn)并縮短產(chǎn)品上市時(shí)間。