亂數產生
加密編譯偽亂數產生器(CPRNG)是安全軟件的重要構成要素。有鑑於此,Apple 提供受信任的軟件 CPRNG,在 iOS、iPadOS、macOS、tvOS 及 watchOS 核心中執行。CPRNG 負責從系統整合原始的熵,並在核心和用户空間中向消費者提供安全的亂數。
熵來源
核心 CPRNG 來自裝置啟動時及整個使用週期的多個熵來源。這些包括(適用與否視情況而定):
「安全隔離區」硬件 TRNG
開機期間收集的時基誤差
從硬件中斷收集的熵
啟動時用於持續執行熵的種子檔案
Intel 隨機指令,例如 RDSEED 和 RDRAND(僅適用於以 Intel 為基礎的 Mac)
核心 CPRNG
核心 CPRNG 是 Fortuna 衍生的設計,以 256 位元安全層級為目標。它使用下列 API 為用户空間消費者提供高品質的亂數。
getentropy
(2)系統呼叫隨機裝置(/dev/random)
核心 CPRNG 透過寫入隨機裝置接受用户供應的熵。
感謝您提供意見。