首頁>科技>

#師者說#

我在上課時經常會結合一些熱點技術新聞講解知識點,希望同學們能提高技術敏感性,學以致用。下面我就最近看到的Apple新聞講點安全晶片的相關內容。

近些時間,大家發現更換蘋果手機非原裝配件將收到“彈出警告”!

IOS14.4之後的新特性

第一次報道是來自於外媒MacRumors,經過知名第三方維修網站iFixit的技術人員測試,iPhone 12的攝像頭在經過第三方零部件更換之後,必須由蘋果內部的系統配置應用進行授權才可以正常運轉。在沒有授權的情況下,使用者將無法正常使用iPhone 12/iPhone 12 Pro的相機應用,基本鎖死了第三方維修手段。

看到這則新聞我立馬就想到了晶片加密技術,不妨今天簡單來聊聊。

這項技術‬也不是‬什麼‬新鮮玩意兒‬,在‬很多‬金融‬U盾‬以及‬蘋果的‬Touch ID和Face ID晶片‬中‬就有‬。目的‬就是‬給‬這些對‬‬安全性‬要求極高‬的晶片‬一個‬唯一的‬指紋‬。使用時‬軟體‬來驗證‬這個顆‬晶片‬是否‬被調包了‬。試想一下‬,如果‬你的‬手機‬被人‬撿到‬,拆開之後‬換一個‬駭客‬自己‬的‬Touch ID‬晶片‬就輕輕鬆鬆‬把你‬手機解鎖了‬,甚至‬還可以‬隨意‬使用‬你的‬支付寶‬,那該有多恐怖‬。

那麼‬,如何‬給‬這些‬存有‬安全認證‬資訊的‬晶片‬一個‬唯一‬的指紋‬呢‬?假如‬我們‬用‬軟體‬生成一個‬金鑰‬,把‬金鑰‬儲存‬在‬晶片‬中‬是否‬就可以‬呢‬?

對於‬懂得‬系統‬攻擊‬的‬人來說‬,這可能沒有用‬。只要‬他‬指知道‬這個‬晶片‬的‬spec(通常‬從事‬晶片設計‬行業‬的‬人‬都會‬知道‬怎能做‬),就可以透過‬row hammer等‬技術‬來‬獲取‬金鑰‬。

什麼是‬row hammer?在作業系統中‬,不同‬程式‬在‬不同‬的程序空間‬執行‬,你的‬程序‬‬是‬無法‬訪問‬其他‬‬程序‬的儲存‬空間‬的‬。但如果‬用一種‬特殊的‬序列‬來‬反覆‬讀寫分配給你‬的‬‬記憶體‬,那麼‬,臨近‬的‬其他‬程序‬記憶體‬的資料‬可能‬被你修改。你可能會問‬,臨近‬的‬記憶體‬不是‬也應該‬在你的‬空間內‬嗎‬?這就要‬稍微‬解釋‬一下‬‬虛擬記憶體‬了‬。在‬現實中‬,分配給你的‬記憶體‬是‬按照‬頁‬分配‬的‬,一‬頁‬通常‬4K,正好‬是‬一行‬儲存器‬的‬大小‬。那麼‬,物理‬上‬隔壁行‬的‬資料‬是‬另一個‬頁‬的‬,完全可能被‬作業系統‬分配給‬不同程序‬。Row hammer現象‬‬是‬由於‬儲存‬‬器件‬在‬讀寫‬充放電過程‬中‬的‬耦合‬效應‬導致的‬,完全‬躲避了‬作業系統監控‬與保護‬。如果‬一個‬程序‬可以‬修改‬不屬於該‬‬的‬內容‬,那麼,‬很多駭客‬就可以‬為所欲為‬了‬。

Row hammer由計算機體系結構領域大牛Onur Mutlu與Intel聯合提出

Row hammer目前會影響DDR3和DDR4的SDRAM。

也許你會說‬,我不把‬金鑰‬‬存在‬記憶體裡‬,而是‬直接‬用‬硬體電路‬寫死‬,不讓給‬任何‬被‬第三方‬‬可以讀寫‬的‬通道‬呢‬?不好意思‬,駭客‬這時候‬可以‬用‬側通道‬攻擊‬法‬來‬獲取‬金鑰‬。

晶片側通道攻擊基本原理

這種攻擊方法針對加密晶片在執行過程中的時間消耗、功率消耗或電磁輻射之類的側通道資訊洩露進行觀察獲取金鑰。這類新型攻擊的有效性遠高於密碼分析的數學方法,因此給密碼裝置帶來了嚴重的威脅。

側通道攻擊的原理其實源遠流長。比如你經常在電影中看到的(如速度與激情)飛賊拿著‬聽診器‬,透過不斷扭動密碼輪盤,聽聲辨位解鎖。歷史上‬透過“聲音”破解密碼最經典的案例莫過於二戰中盟軍破解Enigma密碼機。

舉一個最簡單的例子,晶片內部同理

上圖是‬另‬‬一個‬簡單‬的例子‬,透過‬紅外‬裝置‬觀察‬漸入‬密碼‬後‬鍵盤‬表面溫度‬可以知道‬你‬按了‬哪些健‬,甚至‬可以‬根據‬熱量‬耗散‬速度‬知道‬你的‬按鍵‬順序‬。試想一下‬,在晶片‬內部‬的溫度‬也是‬會隨著‬元器件‬不斷‬執行‬操作‬表現出‬不同‬溫度‬,透過‬高精密‬儀器裝置可以‬探知‬你的‬金鑰‬。

有了‬金鑰,我就可以‬克隆‬你的‬加密‬晶片‬了‬,這也不安全‬。於是‬,產業界‬有了‬一種‬物理不可‬克隆‬晶片‬技術‬Silicon Physical Uncloneanle‬ Function‬(簡稱‬PUF),給每顆晶片‬一個‬獨一無二的‬“指紋”‬。

如果‬你看了‬我‬前面‬的‬介紹‬文章‬,你也許會問‬,生產‬100萬‬顆‬晶片‬,由於‬他們‬用同一個‬設計‬版圖‬,功能‬和‬PPA都是‬一樣‬的,那怎麼‬會有‬獨一無二‬的‬指紋‬呢‬?

‬好問題‬。實際上‬晶片製造過程中諸多‬工序‬,‬如‬離子‬注入和光照等都會‬引入‬隨機的‬工藝偏差。這些偏差‬足夠微弱‬,不會影響‬晶片‬功能‬與‬PPA,但‬經特殊技術提取後,可作為晶片的唯一標識資訊。由於該唯一標識是製造過程中自行產生,晶片的設計者、製造者、生產者均無法對其進行控制,保證了防偽晶片的物理不可複製特性。

人的指紋‬一輩子‬只可能有一個‬‬,但一個‬‬PUF晶片‬卻可以‬產生‬任意多‬的‬指紋‬。這種特性‬‬也‬是因為晶片‬‬生產‬過程‬中‬自然‬引入‬的‬偏差‬具有較好的隨機特性,利用該隨機特性,可產生隨機PUF KEY,與身份‬驗證‬(authentication)演算法相結合,可顯著提升加密‬演算法的抗攻擊效能和安全等級。即使‬駭客‬手上‬拿到了‬帶有‬PUF的‬晶片‬,也休想‬透過‬不斷‬進行‬challenge- response‬驗證‬猜到‬PUF KEY‬。

PUF的設計非常簡單、成本低廉、除了在高價值的加密晶片中使用,還可以廣泛的應用於物聯網裝置。在AI晶片場景中,雲端訓練出來的模型也具有極高價值,它們卻要部署在邊緣和端側晶片的非易失性儲存器上會轉化為專用晶片。在這些邊緣晶片中加入PUF也可以有效保護智慧財產權(IP)不被竊取。

好。先聊到這兒,今天從新聞講到了作業系統,晶片設計,硬體安全與密碼學。記住知識點哦。

11
最新評論
  • 整治雙十一購物亂象,國家再次出手!該跟這些套路說再見了
  • 都是智慧化家庭,米家與樹莓派哪個強?