郵件驗證碼 (MAC)

MAC 基本功能可讓您驗證沒有人竄改您的資料。傳送者與收件者共用「對稱金鑰」可以計算特定訊息的「驗證標記」,方便收件者驗證訊息是否來自預期的寄件者,且未經修改。

MAC 具有以下屬性:

  • 真實性:建立可驗證 MAC 標記的唯一方式,就是瞭解金鑰。
  • Symmetric:計算及驗證代碼時,必須使用相同的鍵。

視演算法而定,MAC 可具有確定性或隨機化。 Tink 目前未實作非確定性 MAC 演算法。您只應將 MAC 用於訊息驗證,而非產生虛擬隨機位元組等其他用途 (請參閱 PRF)。

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

選擇金鑰類型

針對大部分用途,我們建議您使用 HMAC_SHA256,但您也可以採取其他做法。

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

  • HMAC_SHA512 速度不一定會更快,具體取決於訊息大小和所用硬體的規格。
  • HMAC_SHA512 是最保守的模式,可用於實際不限數量的訊息。
  • 在支援 AES-NI 硬體加速的系統上,AES256_CMAC 是最快的執行速度。

最低安全性保證

  • 驗證強度至少為 80 位元
  • 防範所選明文攻擊中的現存偽造內容
  • 針對金鑰復原攻擊和多使用者情境,提供至少 128 位元的安全性 (如果攻擊者未指定特定金鑰,而是使用最多 232 個金鑰的組合而成的任何金鑰)

用途範例

詳情請參閱我想防止資料遭到竄改