亂數產生
加密編譯偽亂數產生器(CPRNG)是安全軟體的重要構成要素。有鑑於此,Apple 提供受信任的軟體 CPRNG,在 iOS、iPadOS、macOS、tvOS 及 watchOS 核心中執行。此軟體負責彙總來自系統的原始熵,並提供安全亂數給核心和使用者空間中的取用者。
熵來源
核心 CPRNG 源自於開機期間和裝置生命週期中的多個熵來源。其中包含(取決於可用性):
「安全隔離區」硬體 TRNG
開機期間收集的時基誤差
從硬體中斷收集的熵
讓每次開機皆能維持熵的種子檔案
Intel 隨機指令,例如 RDSEED 和 RDRAND(僅適用於採用 Intel 架構的 Mac)
核心 CPRNG
核心 CPRNG 是針對 256 位元安全性層級由 Fortuna 衍生的設計。它使用下列 API,為使用者空間取用者提供高品質的亂數:
getentropy
(2) 系統呼叫隨機裝置(/dev/random)
核心 CPRNG 可透過寫入隨機裝置接受使用者提供的熵。
感謝您的寶貴意見。