#師者說#
我在上課時經常會結合一些熱點技術新聞講解知識點,希望同學們能提高技術敏感性,學以致用。下面我就最近看到的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)不被竊取。
好。先聊到這兒,今天從新聞講到了作業系統,晶片設計,硬體安全與密碼學。記住知識點哦。