What is the security chip used in hardware wallets?

硬件錢包使用的安全芯片是什麼?

本篇文章主要講述硬體錢包所使用的安全芯片是什麼?如何確保安全?

什麼是安全芯片?

硬件錢包的安全芯片主要是指安全單元(Secure Element),SE 是一台微型計算機,通過特有的安全元器件和芯片操作系統(COS)實現數據安全存儲、加解密運算等功能。考慮到 SE 體積小、功耗低、可靠性高、保密性強的特點,因此可以以嵌入式方式封裝成各種產品形態,常見的有:IC卡、SD卡、SIM卡、eSE、網銀USBKey、可穿戴設備等。

安全芯片都有哪些用途?

安全芯片其實並不陌生,像咱們常見的銀行卡(帶有金屬接觸面的,並非磁條卡)、手機 SIM 卡、身份證、網銀 USBKey 等都是最常見的應用場景,而像如今比較火熱的人工智能、物聯網 IOT、車聯網也將是其最有力的安全實踐。

安全芯片前景如何?

世界各國均開始大力推動 5G、量子通信、人工智能、車聯網、物聯網、工業互聯網等新技術新業態的發展,取得了一定進展。我國也陸續發布了促進人工智能、車聯網等發展的行動計劃,為新技術新業態發展創造良好政策環境。智能終端、物聯網、智能駕駛、AR/VR、AI 人工智能、智能家居,但無論是哪類技術,最基礎的一層一定是芯片層,包括數據的獲取,傳輸,計算,融合,分析等功能都離不開芯片,過往幾十年中,各行業的大發展都是伴隨著芯片技術的發展。目前安全芯片產業已被列為國家信息安全戰略之一,在政策的大力推動下,市場中涌現了大量應用於不同領域甚至不同業務場景的安全芯片。從大趨勢上來看,安全芯片的發展一定是重中之重,可以說是核心競爭力之一。

一直說芯片十分安全,到底為什麼安全呢?

芯片的安全可以從以下幾個角度來講,芯片自身的安全設計、檢測標準、應用實踐。

首先,芯片自身無論從內部軟件設計層面還是物理構造層面都必須有很高的安全性,由於安全芯片的設計原則十分複雜且繁多,重點列舉幾項:

  • 是否采用安全的 CPU,主要用於密鑰、數據信息的計算和運行過程中的安全檢測;
  • CPU 寄存器是否具備掩碼保護功能;
  • 內存(NVM、RAM)是否被加密,是否具備專門的完整性驗證保護;
  • 是否具備溫度、電壓、頻率、光傳感器以及專用保護網;
  • 是否具備安全加解密計算的協處理器。

其次,所謂安全並不是絕對永恒的,其實只是在一段時間一定條件的相對安全,那麼可以理解在一定限度內也是有標準可依據的,因此只有通過標準符合性的檢測,才能認為是相對安全的。講到這裡,就不得不提一下 ISO 國家標準化組織於 1999 年正式發布的 ISO/IEC 15408 標準(信息技術—安全技術—IT安全評估准則),也就是經常提到的CC標準(通用准則)。ISO15408 為針對信息安全相關產品或系統所制定的安全評估准則,已成為國際標準認證,也是全球最嚴謹的安全系統評估准則。CC標準的意義在于:

  • 通過評估有助於增強用戶對於IT產品的安全信心;
  • 促進IT產品和系統的安全性;
  • 消除重復的評估。

之于,安全芯片,CC 標準明確了其安全驗證等級由低至高共分為 EAL1 至 EAL7。從 EAL1 到 EAL7 一共有 7 個等級。等級越高,表示通過認證需要滿足的安全保證要求越多,其安全特性越可靠。而每一個級別的安全認證,均需要從多個角度評估。

補充下,金融領域采用的普遍是 EAL4+、EAL5+ 級別產品,而 EAL 6 + 已經達到的軍工級別。

最后,應用實踐的話,可以從以下兩個方面來評判:

  • 一方面,是否已經商用,是否曾暴露出安全事件;
  • 另一方面,攻擊的成本是否足夠高,包含時間、人力、資金投入等。

安全芯片可以抵御哪些攻擊?

根據國際 CC 標準,安全芯片必須具備的抗攻擊要求,參見如下:

  • 應保證安全芯片具備抵抗物理測定存儲器單元邏輯內容的保護能力;
  • 應保證存儲單元邏輯或安全芯片內部布線已暴露時,安全芯片具備抵抗根據存儲器單元邏輯恢復有用代碼或者信息里的能力;
  • 應保證安全芯片具備抵抗通過旁路分析導致存儲器敏感信息暴露的保護能力,如分析運行安全芯片功耗圖,電磁場輻射或者主要處理功能的時序等;
  • 應保證入侵安全芯片進行機械探測攻擊難以暴露存儲器代碼和信息;
  • 應保證以電壓對比和電子束探測等攻擊方式難以暴露存儲器信息;
  • 應保證安全芯片應用不受操作環境變化干擾的影響。如果探測到內部變化或時鐘率、電壓、復位脈衝寬度以及溫度等規范外的賦值,使其無效;
  • 應保證安全芯片應用的執行不受探測攻擊的影響;
  • 應保證安全芯片能夠抵御具備全面的安全芯片設計知識的人員使用高端專門工具通過FIB系統或者激光切割機對安全芯片修改的能力;
  • 應保證安全芯片受到的光學錯誤攻擊、電磁場和放射線干擾,不會影響應用程序的正常運行或進入一個安全的狀態;
  • 應保證安全芯片的設計具備一定的難度性,攻擊者必須通過大量的努力和使用高端的專業工具才能對邏輯建立模塊進行反向工程提取。

講了這么多專業拗口的術語,相信大家已經跟聽天書一樣了,總的來說,就算是擁有專業知識的技術人員,要攻擊安全芯片的難度也是相當大的。

imKey 的安全性如何呢?

imKey 通過軟硬多個角度對產品進行了苛刻的安全設計,這裡特別介紹硬件層面,軟件層面將在今後的課堂中逐一講解。相信大家已經知道,imKey 使用的是 CC EAL6+ 安全芯片(下附一張CC EAL 6+ 安全芯片的圖片),這款芯片已經達到了軍工級別,具備以下安全特性:

  • 內置真隨機數發生器;
  • 雙核 CPU,一個執行,一個安全檢測;
  • 所有 CPU 寄存器具備掩碼保護功能;
  • 所有 NVM、RAM 均被加密,且有專門的完整性驗證保護;
  • 具備溫度、電壓、頻率、光傳感器以及專用保護網;
  • 具備 DES、AES 以及用於 PKI 運算的協處理器。

備注:區塊鏈錢包的核心就是私鑰,而且私鑰其實質就是一串隨機數,隨機數的安全性直接影響著私鑰的安全強度。imKey 使用的這款芯片就是採用真隨機數發生器生成的隨機數,真隨機數發生器通常採用來自熱噪聲方式生成隨機數,隨機性強,安全性高,很難被預測,這從源頭上保證了私鑰的機密性,也即確保了錢包的安全性。

安全芯片是否應該開源呢?

對於安全芯片是否開源,就像你的部隊全力打造了一座軍事防禦堡壘,為了向世人證明你的堡壘安全性,你得將你的安全建構公之於眾,這樣無形中就會暴露給敵人,給予了可乘之機。安全芯片有其遵循的行業準則和國際標準,並且安全芯片已經被廣泛應用於軍事、金融、政務、民生等領域,開源將帶來不可估量的安全隱患,甚至威脅國土安全。因此不能將開源作為評判安全芯片是否安全的標準,並且較之開源來說,黑盒性隱私更有利于保證其安全性。

大量的安全芯片知識聽起來比較晦澀,總結來說建議大家在購買硬件錢包時,儘量選購采用了安全芯片且具備安全認證資質的產品。