郵件驗證碼 (MAC)

透過 MAC 原始碼,您可以驗證資料是否遭到竄改。寄件者與收件者共用對稱金鑰時,可以為特定郵件計算驗證標記,讓收件者驗證郵件是否來自預期的寄件者,且未經修改。

MAC 具有下列屬性:

  • 真實性:知道金鑰是建立可驗證的 MAC 標記的唯一方法。
  • Symmetric:計算及驗證代碼時,需要使用相同的金鑰。

視演算法而定,MAC 可為確定性或隨機性。Tink 目前不會導入非確定性 MAC 演算法。您應僅將 MAC 用於郵件驗證,而非用於產生偽隨機位元組等其他用途 (請參閱 PRF)。

如果您需要非對稱原始碼,請參閱「數位簽名」。

選擇金鑰類型

我們建議您在大多數情況下使用 HMAC_SHA256,但也有其他選項。

一般來說,下列情況成立:

  • 視訊息大小和使用的硬體規格而定,HMAC_SHA512 的速度可能會變快或變慢。
  • HMAC_SHA512 是保守度最高的模式,可用於幾乎無限數量的訊息。
  • 在支援 AES-NI 硬體加速功能的系統中,AES256_CMAC 的速度最快。

最低安全性保證

  • 至少 80 位元驗證強度
  • 在選定明文攻擊下防範存在偽造
  • 至少提供 128 位元安全性,可防範金鑰復原攻擊,並支援多使用者情境 (當攻擊者並非鎖定特定金鑰,而是鎖定最多 232 組金鑰中的任何金鑰時)

用途範例

請參閱「我想保護資料免於遭到竄改」。