投稿日: Apr 20, 2022

AWS Key Management Service (AWS KMS) を使用すると、Hash-Based Message Authentication Code (HMAC) の生成と検証に使用できる KMS キーを作成できます。HMAC は強力な暗号化ビルディングブロックであり、ハッシュ関数内にシークレットキーの素材を組み込んで、一意の鍵付きメッセージ認証コードを作成します。HMAC KMS キーは、AWS KMS の FIPS 140-2 検証済み HSM セキュリティ境界内でのみ生成および使用できます。このアーキテクチャは、ローカルアプリケーションソフトウェアでプレーンテキストの HMAC キーを使用するのとは対照的に、これらのシークレットキーが危険にさらされるリスクを最小限に抑えることができます。

HMAC は、ウェブ API リクエスト、クレジットカード番号、銀行のルーティング情報、個人を特定できる情報 (PII) などのデータをトークン化または署名する高速な方法を提供できます。HMAC は対称暗号化を使用するため、通常、RSA や ECC などの非対称暗号化を使用する署名アルゴリズムよりもパフォーマンスが高くなります。HMAC は、JSON Web Tokens (JWT) などのいくつかのインターネット標準や通信プロトコルで一般的に使用されています。AWS KMS の KMS キーと HMAC アルゴリズムは、RFC 2104 で定義されている業界標準に準拠しています。他のタイプの KMS キーと同様に、KMS キーや IAM ポリシーを定義することにより、誰がどの条件で HMAC 機能を実行できるかをコントロールできます。

KMS HMAC API は現在、選択されたリージョンで利用できます。リージョンのサポートと新しい HMAC 機能の概要については、「KMS デベロッパーガイド」を参照してください。

2022 年 4 月 27 日: この投稿の以前のバージョンでは、「Java」Web Token 標準を誤って参照していました。この参照を JSON Web Token (JWT) 標準に修正しました。