はじめに
デジタル通信の世界では、メッセージがプライベートに保たれるだけでなく、転送中に改ざんされていないこと(完全性)と、主張された送信者から本当に送信されたものであること(認証性)を保証することが極めて重要です。単純なハッシュ関数は偶発的なデータ破損をチェックできますが、悪意のある改ざんを防ぐことはできません。なぜなら、誰でも改ざんされたメッセージのハッシュを再計算できてしまうからです。
ここで登場するのが HMAC(Hash-based Message Authentication Code:ハッシュベースのメッセージ認証コード)です。HMAC は、暗号学的ハッシュ関数(例:SHA-256)と秘密鍵を組み合わせた、特定の種類のメッセージ認証コード(MAC)です。秘密鍵を所有している当事者のみが、特定のメッセージに対する HMAC を生成および検証できます。このプロセスは、データの完全性と認証性の両方を提供します。
この実験(Lab)では、HMAC の実践的な経験を積みます。まず概念を理解し、次に強力なコマンドラインツールである openssl を使用して鍵を生成し、HMAC を計算します。最後に、アプリケーション開発で一般的なタスクである、Python スクリプトで HMAC を実装する方法を確認します。



