メッセージ認証コード(MAC)
MAC プリミティブを使用すると、データが改ざんされていないことを確認できます。受信者と対称鍵を共有する送信者は、特定のメッセージの認証タグを計算できます。これにより、受信者は、メッセージが想定された送信者から送信されたものであり、変更されていないことを確認できます。
MAC には次の特性があります。
- 真正性: 鍵を知ることは、検証可能な MAC タグを作成する唯一の方法です。
- 対称: タグの計算と検証には同じ鍵が必要です。
MAC は、アルゴリズムに応じて決定論的またはランダム化できます。Tink は現在、非確定的 MAC アルゴリズムは実装していません。MAC はメッセージ認証にのみ使用し、擬似ランダム バイトの生成などの他の目的には使用しないでください(詳細については、PRF をご覧ください)。
非対称プリミティブが必要な場合は、デジタル署名をご覧ください。
鍵の種類を選択する
通常は HMAC_SHA256 を使用することをおすすめしますが、他の方法を使用することもできます。
一般に、次のことが当てはまります。
最小限のセキュリティ保証
- 認証強度は 80 ビット以上
- 選択された平文攻撃の下で存在感偽造から保護する
- 鍵復元攻撃に対する 128 ビット以上のセキュリティとマルチユーザー シナリオ(攻撃者が特定の鍵をターゲットにしていない場合、最大 232 個の鍵のセットから任意の鍵をターゲットにする場合)
使用例
データを改ざんから保護したいをご覧ください。
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2024-04-09 UTC。
[null,null,["最終更新日 2024-04-09 UTC。"],[[["The Message Authentication Code (MAC) primitive, using a shared symmetric key, enables verification of data integrity and authenticity by generating an authentication tag."],["MAC ensures authenticity as only the key holder can create a verifiable tag, and it's symmetric, requiring the same key for both computation and verification."],["Tink recommends HMAC_SHA256 for most use cases, while HMAC_SHA512 offers higher security and AES256_CMAC might provide better performance with specific hardware."],["Tink's MAC implementation guarantees a minimum of 80-bit authentication strength, protection against forgery, and at least 128-bit security against key recovery attacks, even in multi-user environments."]]],["MAC uses a shared symmetric key between sender and recipient to verify message authenticity and integrity. The sender computes an authentication tag for a message, which the recipient uses to confirm its origin and unaltered state. MAC guarantees authenticity, where only key holders can create verifiable tags. Key recommendations include HMAC_SHA256, HMAC_SHA512 (most conservative), and AES256_CMAC (fastest with AES-NI). MAC is designed solely for message authentication, offering a minimum of 80-bit authentication strength.\n"]]