Solaris のシステム管理 (セキュリティサービス)

Procedureファイルの MAC を計算する方法

メッセージ認証コード (MAC) は、ファイルの要約を計算し、秘密鍵を使用してさらに要約を保護します。MAC によって元のファイルが変更されることはありません。

  1. 使用可能なメカニズムを一覧表示します。


    % mac -l
    Algorithm       Keysize:  Min   Max
    -----------------------------------
    des_mac                    64    64
    sha1_hmac                   8   512
    md5_hmac                    8   512
    sha256_hmac                 8   512
    sha384_hmac                 8  1024
    sha512_hmac                 8  1024
  2. 該当する長さの対称鍵を生成します。

    2 つの選択肢があります。鍵が生成されるパスフレーズを指定することができます。または鍵を指定することができます。

    • パスフレーズを指定する場合、指定したパスフレーズを格納するか覚えておく必要があります。パスフレーズをオンラインで格納する場合、そのパスフレーズファイルは自分だけが読み取ることができるようにします。

    • 鍵を指定する場合、それはメカニズムの現在のサイズである必要があります。手順については、dd コマンドを使用して対称鍵を生成する方法」を参照してください。

  3. ファイルの MAC を作成します。

    mac コマンドで、鍵を指定して対称鍵アルゴリズムを使用します。


    % mac -v -a algorithm [ -k keyfile ] input-file
    
    -v

    次の形式で出力を表示します。


    algorithm (input-file) = mac
    
    -a algorithm

    MAC を計算するために使用するアルゴリズムです。mac -l コマンドの出力のようにアルゴリズムを入力します。

    -k keyfile

    アルゴリズムで指定された長さの鍵を含むファイルです。

    input-file

    MAC の入力ファイルです。


例 14–8 DES_MAC およびパスフレーズで MAC を計算する

次の例では、電子メールの添付ファイルを、DES_MAC メカニズムとパスフレーズから生成される鍵で認証します。MAC の一覧はファイルに保存されます。パスフレーズをファイルに格納する場合、そのファイルはユーザー以外は読み取ることができないようにします。


% mac -v -a des_mac email.attach
Enter passphrase: <Type passphrase>
des_mac (email.attach) = dd27870a
% echo "des_mac (email.attach) = dd27870a" >> ~/desmac.daily.05.07


例 14–9 MD5_HMAC および鍵ファイルで MAC を計算する

次の例では、電子メールの添付ファイルを、MD5_HMAC メカニズムと秘密鍵で認証します。MAC の一覧はファイルに保存されます。


% mac -v -a md5_hmac -k $HOME/keyf/05.07.mack64 email.attach
md5_hmac (email.attach) = 02df6eb6c123ff25d78877eb1d55710c
% echo "md5_hmac (email.attach) = 02df6eb6c123ff25d78877eb1d55710c" \
>> ~/mac.daily.05.07


例 14–10 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