Go to main content
Oracle® Solaris 11.3 での暗号化と証明書の管理

印刷ビューの終了

更新: 2017 年 3 月
 
 

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

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

  1. 使用可能なメカニズムを一覧表示します。
    $ 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

    注 -  サポートされている各アルゴリズムは、もっともよく使用され、もっとも制限が少ない特定のアルゴリズムタイプの別名です。前の出力は、使用可能なアルゴリズム名と各アルゴリズムのキーサイズを示しています。可能な場合は常に、Oracle Solaris 11.3 での FIPS 140-2 対応システムの使用 の 暗号化フレームワークでの FIPS 140-2 アルゴリズムに記載されている、FIPS 140-2 承認の鍵の長さを備えた FIPS 140-2 承認アルゴリズムに一致するサポートされているアルゴリズムを使用してください。
  2. 該当する長さの対称鍵を生成します。

    鍵が生成されるpassphraseを指定したり、鍵を指定したりできます。

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

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

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

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

    $ mac [-v] -a algorithm [-k keyfile | -K key-label [-T token]] input-file
    –v

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

    algorithm (input-file) = mac
    –a algorithm

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

    –k keyfile

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

    –K key-label

    PKCS #11 キーストア内の鍵のラベル。

    –T token

    トークン名。デフォルトでは、トークンは Sun Software PKCS#11 softtoken です。–K key-label オプションが使用された場合にのみ使用されます。

    input-file

    MAC の入力ファイル。

使用例 6  SHA1_HMAC およびパスフレーズで 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