Why is imKey so "slow" when creating a wallet?

創建錢包時,為什麼 imKey 要如此「慢」呢?

imKey 創建新錢包的時間比其他錢包長,顯得有些「慢」,這是客觀事實。其背後原因在於 imKey 為了追求安全性,在密鑰生成過程中作出了必要的選擇。

為什麼 imKey 在建立錢包時相對其他錢包要慢一些呢?

imKey 創建新錢包所需的時間較長,相較其他錢包顯得比較"慢",這是一個客觀的事實。其背後原因是出於 imKey 基於安全考量,為了最大程度保護密鑰生成的安全性,作出了這一必要的選擇。

那麼,為什麼「慢」會更安全呢?

根據 BIP39 規範的描述,在產生根密鑰的過程中,必須對熵進行 2048 次的 HMAC-SHA512 運算(如图)。
[ BIP39 规范,详见https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki#from-mnemonic-to-seed ]

為了確保根密鑰的最大安全性,所有運算過程及結果都應在安全元件(SE)內部獨立完成,這應該成為硬件錢包安全的重要準則。

imKey 遵循上述準則,將生成根密鑰所需的 2048 次哈希運算都設置在 SE 芯片內完成,而不是依賴外部(例如 MCU 芯片)運算後再將結果寫入 SE 芯片。SE 芯片更注重安全性,其算力相對於通用型 MCU 芯片偏低(因為每次運算都需對數據進行加密後運算,以防物理攻擊或側信道攻擊,同樣的原因,SE 芯片也無法增加協處理器來加速哈希運算),因此在根據 BIP39 規範運算生成錢包根密鑰時會顯得有些緩慢。

imKey Pro 硬件錢包採用知名芯片製造商英飛凌(Infineon)出品的 SLE 78CLUFX5000PH 安全芯片,該款芯片單次 HMAC-SHA512 哈希運算耗時約在 13ms 到 14ms 左右,在日常使用時用戶基本無感知,但在創建錢包時需連續進行 2048 次哈希運算,因此耗時約為 20 到 30 秒(2048*14ms),相較其他熱門錢包、非安全芯片類型的硬體錢包,其創建時會顯得「慢」一些。

imKey 硬件錢包始終將「安全」作為最核心價值,在創建錢包時,讓用戶僅需等待約 30 秒左右的時間,便可獲得更高等級的錢包根密鑰安全保障。imKey 團隊認為這是一筆非常有價值的「交易」,也是對用戶更負責任的「選擇」。

名詞解釋

SE:Secure Element 縮寫,指安全芯片,是一台微型計算機,通過安全芯片和芯片操作系統(COS)實現數據安全存儲、加解密運算等功能。SE 可封裝成各種形式,常見的有智能卡和嵌入式安全模塊(eSE)等。

MCU:Microcontroller Unit 縮寫,又稱「微控制單元」,將中央處理器(Central Process Unit;CPU)的頻率和規格進行適當縮減,並將內存、計數器、USB、A/D 轉換、UART、PLC、DMA 等周邊接口,甚至 LCD 驅動電路都整合在單一芯片上,形成芯片級的計算機,為不同的應用場合做不同組合控制。