假隨機函式 (PRF)

虛擬隨機函式 (PRF) 原始版本可讓您為指定的輸入內容產生穩定的任意長度虛擬隨機輸出內容。

由於 Tink 是在金鑰組運作,因此這個基本功能會公開一組對應的 PRF,而非單一 PRF。PRF 會以 32 位元金鑰 ID 建立索引。這可用來輪替用於遮蓋資訊的金鑰,而不會失去先前的關聯。

PRF 具備以下屬性:

  • 確定性:為指定的輸入計算 PRF 一律會產生相同的輸出。
  • 隨機:PRF 的輸出內容與隨機位元組無法區分。

選擇金鑰類型

我們建議大部分用途都使用 HMAC_SHA256_PRF,但您也可以使用其他選項。

一般來說,下列格式都會成立:

  • HMAC_SHA512_PRF 的執行速度取決於輸入大小和所用硬體的細節。
  • HMAC_SHA512_PRF 是最保守的模式,可用於無限制的訊息數量。
  • 在支援 AES-NI 硬體加速的系統上,AES_CMAC_PRF 的速度最快。

最低安全性保證

  • 如果沒有金鑰的相關知識,PRF 就無法與隨機函式區分
  • 至少 128 位元安全性,也在多使用者情境下 (攻擊者未指定特定金鑰,但使用最多 232 個金鑰組合的任何金鑰)
  • 輸出的資料量至少為 16 個位元組

範例用途

PRF 的用途包括確定性遮蓋個人識別資訊 (PII)、索引鍵雜湊函式,以及在不知道金鑰的情況下,建立不允許與原始資料集彙整的子 ID。

雖然 PRF 可用來證明訊息的真實性,但建議您使用 MAC 原始版本,因為該用途支援驗證、避免在驗證期間經常發生的安全性問題,並且提供自動支援金鑰輪替。這也可用於非確定性的演算法