Oracle® Solaris 11.2 での暗号化と証明書の管理

印刷ビューの終了

更新: 2014 年 9 月
 
 

使用可能なプロバイダの一覧表示

ハードウェアプロバイダは、自動的に配置されロードされます。詳細は、driver.conf(4) のマニュアルページを参照してください。

暗号化フレームワークへの接続が想定されているハードウェアがある場合、そのハードウェアはカーネルの SPI に登録されます。暗号化フレームワークでは、ハードウェアドライバが署名されていることが確認されます。特に、ドライバのオブジェクトファイルが Oracle が発行する証明書付きで署名されていることが確認されます。

たとえば、Sun Crypto Accelerator 6000 ボード (mca)、UltraSPARC T1 および T2 プロセッサの暗号化アクセラレータ用 ncp ドライバ (ncp)、UltraSPARC T2 プロセッサ用 n2cp ドライバ (n2cp)、T シリーズシステム用の /dev/crypto ドライバは、ハードウェアのメカニズムをフレームワークに接続します。

プロバイダの署名については、暗号化フレームワークのユーザーレベルコマンドelfsign に関する情報を参照してください。

使用可能なプロバイダを一覧表示するには、取得する情報に応じて、cryptoadm list コマンドにさまざまなオプションを付けて使用します。

  • システムのすべてのプロバイダを一覧表示する。

    プロバイダリストの内容と書式は、Oracle Solaris のリリースやプラットフォームによって異なります。使用しているシステムでサポートされるプロバイダを表示するには、システムで cryptoadm list コマンドを実行します。通常のユーザーは、ユーザーレベルのメカニズムのみを直接使用できます。

    % cryptoadm list
    User-level providers:  /* for applications */
    Provider: /usr/lib/security/$ISA/pkcs11_kernel.so
    Provider: /usr/lib/security/$ISA/pkcs11_softtoken.so
    Provider: /usr/lib/security/$ISA/pkcs11_tpm.so
    
    Kernel software providers:  /* for IPsec, kssl, Kerberos */
    des
    aes
    arcfour
    blowfish
    camellia
    ecc
    sha1
    sha2
    md4
    md5
    rsa
    swrand
    n2rng/0 /* for hardware */
    ncp/0
    n2cp/0
    
  • 暗号化フレームワークのプロバイダとそのメカニズムを一覧表示する。

    利用可能なメカニズムの強度やモード (ECBCBC など) を表示できます。ただし、一覧表示されたメカニズムのいくつかは使用できない場合があります。使用可能なメカニズムを一覧表示する方法については、次の項目の手順を参照してください。

    次の出力は、表示用に切り詰められています。

    % cryptoadm list -m [provider=provider]
    User-level providers:
    =====================
    
    Provider: /usr/lib/security/$ISA/pkcs11_kernel.so
    
    Mechanisms:
    CKM_DSA
    CKM_RSA_X_509
    CKM_RSA_PKCS
    ...
    CKM_SHA256_HMAC_GENERAL
    CKM_SSL3_MD5_MAC
    
    Provider: /usr/lib/security/$ISA/pkcs11_softtoken.so
    Mechanisms:
    CKM_DES_CBC
    CKM_DES_CBC_PAD
    CKM_DES_ECB
    CKM_DES_KEY_GEN
    CKM_DES_MAC_GENERAL
    ...
    CKM_ECDSA_SHA1
    CKM_ECDH1_DERIVE
    
    Provider: /usr/lib/security/$ISA/pkcs11_tpm.so
    /usr/lib/security/$ISA/pkcs11_tpm.so: no slots presented.
    
    Kernel providers:
    ==========================
    des: CKM_DES_ECB,CKM_DES_CBC,CKM_DES3_ECB,CKM_DES3_CBC
    aes: CKM_AES_ECB,CKM_AES_CBC,CKM_AES_CTR,CKM_AES_CCM, \
         CKM_AES_GCM,CKM_AES_GMAC,
    CKM_AES_CFB128,CKM_AES_XTS,CKM_AES_XCBC_MAC
    arcfour: CKM_RC4
    blowfish: CKM_BLOWFISH_ECB,CKM_BLOWFISH_CBC
    ecc: CKM_EC_KEY_PAIR_GEN,CKM_ECDH1_DERIVE,CKM_ECDSA, \
         CKM_ECDSA_SHA1
    sha1: CKM_SHA_1,CKM_SHA_1_HMAC,CKM_SHA_1_HMAC_GENERAL
    sha2: CKM_SHA224,CKM_SHA224_HMAC,...CKM_SHA512_256_HMAC_GENERAL
    
    md4: CKM_MD4
    md5: CKM_MD5,CKM_MD5_HMAC,CKM_MD5_HMAC_GENERAL
    rsa: CKM_RSA_PKCS,CKM_RSA_X_509,CKM_MD5_RSA_PKCS, \
         CKM_SHA1_RSA_PKCS,CKM_SHA224_RSA_PKCS,
    CKM_SHA256_RSA_PKCS,CKM_SHA384_RSA_PKCS,CKM_SHA512_RSA_PKCS
    swrand: No mechanisms presented.
    n2rng/0: No mechanisms presented.
    ncp/0: CKM_DSA,CKM_RSA_X_509,CKM_RSA_PKCS,CKM_RSA_PKCS_KEY_PAIR_GEN,
    CKM_DH_PKCS_KEY_PAIR_GEN,CKM_DH_PKCS_DERIVE,CKM_EC_KEY_PAIR_GEN,
    CKM_ECDH1_DERIVE,CKM_ECDSA
    n2cp/0: CKM_DES_CBC,CKM_DES_CBC_PAD,CKM_DES_ECB,CKM_DES3_CBC, \
         ...CKM_SSL3_SHA1_MAC
    
  • 使用可能な暗号化メカニズムを一覧表示する。

    使用可能なメカニズムをポリシーで決定します。ポリシーは、管理者によって設定されます。管理者は、特定のプロバイダのメカニズムを無効にすることができます。–p オプションを指定すると、管理者が設定したポリシーによって許可されているメカニズムのリストが表示されます。

    % cryptoadm list -p [provider=provider]
    User-level providers:
    =====================
    /usr/lib/security/$ISA/pkcs11_kernel.so: \
         all mechanisms are enabled.random is enabled.
    /usr/lib/security/$ISA/pkcs11_softtoken.so: \
         all mechanisms are enabled, random is enabled.
    /usr/lib/security/$ISA/pkcs11_tpm.so: all mechanisms are enabled.
    Kernel providers:
    ==========================
    des: all mechanisms are enabled.
    aes: all mechanisms are enabled.
    arcfour: all mechanisms are enabled.
    blowfish: all mechanisms are enabled.
    ecc: all mechanisms are enabled.
    sha1: all mechanisms are enabled.
    sha2: all mechanisms are enabled.
    md4: all mechanisms are enabled.
    md5: all mechanisms are enabled.
    rsa: all mechanisms are enabled.
    swrand: random is enabled.
    n2rng/0: all mechanisms are enabled. random is enabled.
    ncp/0: all mechanisms are enabled.
    n2cp/0: all mechanisms are enabled.

次の例は、cryptoadm list コマンドの追加の使用を示しています。

使用例 3-11  特定のプロバイダの暗号化情報の一覧表示

cryptoadm options コマンドでプロバイダを指定すると、プロバイダに適用可能な情報のみに出力が制限されます。

# cryptoadm enable provider=dca/0 random
# cryptoadm list -p provider=dca/0
dca/0: all mechanisms are enabled, except CKM_MD5, CKM_MD5_HMAC,...
random is enabled.

次の出力は、メカニズムのみが有効であることを示しています。乱数発生関数は無効にしておきます。

# cryptoadm list -p provider=dca/0
dca/0: all mechanisms are enabled, except CKM_MD5,CKM_MD5_HMAC,....

# cryptoadm enable provider=dca/0 mechanism=all
# cryptoadm list -p provider=dca/0
dca/0: all mechanisms are enabled. random is disabled.

次の出力は、ボードのすべての機能とメカニズムが有効であることを示しています。

# cryptoadm list -p provider=dca/0
dca/0: all mechanisms ar enabled, except CKM_DES_ECB,CKM_DES3_ECB.
random is disabled.

# cryptoadm enable provider=dca/0 all
# cryptoadm list -p provider=dca/0
dca/0: all mechanisms are enabled. random is enabled.
使用例 3-12  ユーザーレベルの暗号化メカニズムのみを検索する

次の例では、ユーザーレベルライブラリ pkcs11_softtoken が提供するすべてのメカニズムを一覧表示します。

% cryptoadm list -m provider=/usr/lib/security/\
   $ISA/pkcs11_softtoken.so
Mechanisms:
CKM_DES_CBC
CKM_DES_CBC_PAD
CKM_DES_ECB
CKM_DES_KEY_GEN
CKM_DES_MAC_GENERAL
CKM_DES_MAC
…
CKM_ECDSA
CKM_ECDSA_SHA1
CKM_ECDH1_DERIVE
使用例 3-13  暗号化メカニズムで実行される機能を確認する

メカニズムでは、署名や鍵の生成など、特定の暗号化機能を実行します。–v –m オプションによって、すべてのメカニズムとその機能が表示されます。

この場合、管理者はどの機能に対して CKM_ECDSA* メカニズムが使用できるかを確認します。

% cryptoadm list -vm
User-level providers:
=====================
Provider: /usr/lib/security/$ISA/pkcs11_kernel.so
Number of slots: 3
Slot #2
Description: ncp/0 Crypto Accel Asym 1.0
...
CKM_ECDSA                    163  571  X  .  .  .  X  .  X  .  .  .  .  .  .  .
...

Provider: /usr/lib/security/$ISA/pkcs11_softtoken.so
...
CKM_ECDSA       112 571  .  .  .  .  X  .  X  .  .  .  .  .  .  .  .
CKM_ECDSA_SHA1  112 571  .  .  .  .  X  .  X  .  .  .  .  .  .  .  .
...
Kernel providers:
=================
...
ecc: CKM_EC_KEY_PAIR_GEN,CKM_ECDH1_DERIVE,CKM_ECDSA,CKM_ECDSA_SHA1
...

    このリストは、これらのメカニズムが次のユーザーレベルプロバイダから使用可能であることを示しています。

  • CKM_ECDSA および CKM_ECDSA_SHA1/usr/lib/security/$ISA/pkcs11_softtoken.so ライブラリ内のソフトウェア実装として

  • CKM_ECDSA/usr/lib/security/$ISA/pkcs11_kernel.so ライブラリ内の ncp/0 Crypto Accel Asym 1.0 による高速化

    エントリの各項目は、メカニズムに関する情報を表しています。これらの ECC メカニズムについて、一覧は次を示しています。

  • 最小の長さ – 112 バイト

  • 最大の長さ – 571 バイト

  • ハードウェア – ハードウェア上で使用できるかどうか。

  • 暗号化 – データの暗号化に使用されません。

  • 復号化 – データの復号化に使用されません。

  • ダイジェスト – メッセージダイジェストの作成に使用されません。

  • 署名 – データの署名に使用されます。

  • 署名 + 回復 – データの署名に使用されません。そのデータはシグニチャーから回復できます。

  • 検証 – 署名付きデータの検証に使用されます。

  • 検証 + 回復 – シグニチャーから回復できるデータの検証に使用されません。

  • 鍵の生成 – 非公開鍵の生成に使用されません。

  • ペアの生成 – 鍵ペアの生成に使用されません。

  • ラップ - ラップに使用されません。 既存の鍵の暗号化。

  • ラップ解除 – ラップされた鍵のラップ解除に使用されません。

  • 派生 – ベース鍵からの新しい鍵の派生に使用されません。

  • EC 機能 – 前の項目には含まれていない存在しない EC 機能