メッセージ認証コード (MAC) は、ファイルのダイジェストを計算し、秘密鍵を使用してさらにダイジェストを保護します。MAC によって元のファイルが変更されることはありません。
$ mac -l Algorithm Keysize: Min Max ----------------------------------- des_mac 64 64 sha1_hmac 8 512 md5_hmac 8 512 sha224_hmac 8 512 sha256_hmac 8 512 sha384_hmac 8 1024 sha512_hmac 8 1024
鍵が生成されるpassphraseを指定したり、鍵を指定したりできます。
パスフレーズを指定する場合、指定したパスフレーズを格納するか覚えておく必要があります。パスフレーズをオンラインで格納する場合、そのパスフレーズファイルは自分だけが読み取ることができるようにします。
鍵を指定する場合、それはメカニズムの現在のサイズである必要があります。pktool コマンドを使用できます。手順およびいくつかの例については、pktool コマンドを使用して対称鍵を生成する方法を参照してください。
mac コマンドで、鍵を指定して対称鍵アルゴリズムを使用します。
$ mac [-v] -a algorithm [-k keyfile | -K key-label [-T token]] input-file
次の形式で出力を表示します。
algorithm (input-file) = mac
MAC の計算に使用するアルゴリズム。mac -l コマンドの出力のようにアルゴリズムを入力します。
アルゴリズムで指定された長さの鍵を含むファイル。
PKCS #11 キーストア内の鍵のラベル。
トークン名。デフォルトでは、トークンは Sun Software PKCS#11 softtoken です。–K key-label オプションが使用された場合にのみ使用されます。
MAC の入力ファイル。
次の例では、電子メールの添付ファイルを、SHA1_HMAC メカニズムとパスフレーズから生成される鍵で認証します。MAC の一覧はファイルに保存されます。パスフレーズをファイルに格納する場合、そのファイルはユーザー以外は読み取ることができないようにします。
$ mac -v -a sha1_hmac email.attach
Enter passphrase: パスフレーズを入力します
sha1_hmac (email.attach) = 2b31536d3b3c0c6b25d653418db8e765e17fe07b
$ echo "sha1_hmac (email.attach) = 2b31536d3b3c0c6b25d653418db8e765e17fe07b" \
>> ~/sha1hmac.daily.05.12
使用例 7 SHA1_HMAC および鍵ファイルで MAC を計算する
次の例では、ディレクトリの一覧を、SHA1_HMAC メカニズムと秘密鍵で認証します。結果はファイルに格納されます。
$ mac -v -a sha1_hmac \ -k $HOME/keyf/05.07.mack64 docs/* > $HOME/mac.docs.legal.05.07 $ more ~/mac.docs.legal.05.07 sha1_hmac (docs/legal1) = 9b31536d3b3c0c6b25d653418db8e765e17fe07a sha1_hmac (docs/legal2) = 865af61a3002f8a457462a428cdb1a88c1b51ff5 sha1_hmac (docs/legal3) = 076c944cb2528536c9aebd3b9fbe367e07b61dc7 sha1_hmac (docs/legal4) = 7aede27602ef6e4454748cbd3821e0152e45beb4使用例 8 SHA1_HMAC および鍵ラベルで MAC を計算する
次の例では、ディレクトリの一覧を、SHA1_HMAC メカニズムと秘密鍵で認証します。結果は、ユーザーの PKCS #11 キーストアに格納されます。ユーザーは、最初に pktool setpin コマンドを使用してキーストアとそのキーストアのパスワードを作成しました。
$ mac -a sha1_hmac -K legaldocs0507 docs/*
Enter pin for Sun Software PKCS#11 softtoken:パスワードを入力します
キーストアから MAC を取り出すために、ユーザーは冗長オプションを使用し、鍵ラベルと認証されたディレクトリの名前を指定します。
$ mac -v -a sha1_hmac -K legaldocs0507 docs/*
Enter pin for Sun Software PKCS#11 softtoken:パスワードを入力します
sha1_hmac (docs/legal1) = 9b31536d3b3c0c6b25d653418db8e765e17fe07a
sha1_hmac (docs/legal2) = 865af61a3002f8a457462a428cdb1a88c1b51ff5
sha1_hmac (docs/legal3) = 076c944cb2528536c9aebd3b9fbe367e07b61dc7
sha1_hmac (docs/legal4) = 7aede27602ef6e4454748cbd3821e0152e45beb4