マニュアルページセク ション 1M: システム管理コマンド

印刷ビューの終了

更新: 2014 年 7 月
 
 

cryptoadm(1M)

名前

cryptoadm - 暗号化フレームワークの管理

形式

cryptoadm list [-mpv] [provider=provider-name] 
     [mechanism=mechanism-list]
cryptoadm disable
     provider=provider-name mechanism=mechanism-list | random | all
cryptoadm enable
     provider=provider-name mechanism=mechanism-list | random | all
cryptoadm install provider=provider-name
cryptoadm install provider=provider-name 
     [mechanism=mechanism-list]
cryptoadm uninstall provider=provider-name
cryptoadm unload provider=provider-name
cryptoadm disable fips-140
cryptoadm enable fips-140
cryptoadm list fips-140
cryptoadm refresh
cryptoadm start
cryptoadm stop
cryptoadm -–help

説明

cryptoadm ユーティリティーは、システムの暗号化プロバイダ情報の表示、各プロバイダのメカニズムポリシーの構成、および暗号化プロバイダのインストールとアンインストールを行います。暗号化フレームワークでは、ユーザーレベルプロバイダ (PKCS11 共有ライブラリ)、カーネルソフトウェアプロバイダ (読み込み可能なカーネルソフトウェアモジュール)、およびカーネルハードウェアプロバイダ (暗号化ハードウェアデバイス) の 3 種類のプロバイダがサポートされます。

カーネルソフトウェアプロバイダ用に、cryptoadm ユーティリティーには unload サブコマンドが用意されています。このサブコマンドは、カーネルソフトウェアプロバイダを読み込み解除するようにカーネルに指示します。

暗号化フレームワークのメタスロット用に、cryptoadm ユーティリティーには、メタスロットの機能を有効/無効にする、メタスロットの構成を一覧表示する、代替の永続オブジェクトストレージを指定する、およびメタスロットのメカニズムポリシーを構成するための各サブコマンドが用意されています。

cryptoadm ユーティリティーには、暗号化フレームワークで FIPS-140 モードを有効/無効にするためのサブコマンドが用意されています。また、FIPS-140 モードの現在のステータスを表示するための list サブコマンドも用意されています。

管理者は、暗号化サブシステムの管理に syslog 機能 (syslogd(1M) および logadm(1M) を参照) を使用すると便利です。ログは、次のような状況で特に役立ちます。

  • カーネルレベルのデーモンが停止し、すべてのアプリケーションでエラーが発生した場合。この状況を syslog から把握し、svcadm(1M) を使用して svc:/system/cryptosvc サービスをリブートできます。

  • 問題のあるプロバイダがフレームワークに接続されている場合、この状況を syslog から把握して、問題のあるプロバイダをフレームワークから削除できます。

下記のサブコマンドまたはオプションを除き、cryptoadm コマンドは特権ユーザーが実行する必要があります。

  • サブコマンド list、任意のオプション

  • サブコマンド –help

オプション

cryptoadm ユーティリティーには、次に示すようなサブコマンドとオプションのさまざまな組み合わせがあります。

cryptoadm list

インストールされているプロバイダの一覧を表示します。

cryptoadm list metaslot

メタスロットのシステム全体の構成を表示します。

cryptoadm list –m [ provider=provider-name | metaslot ]

インストールされているプロバイダまたはメタスロットで使用できるメカニズムの一覧を表示します。プロバイダを指定した場合、指定されたプロバイダの名前と、そのプロバイダで使用できるメカニズムの一覧を表示します。metaslot キーワードを指定した場合、メタスロットで使用できるメカニズムの一覧を表示します。

cryptoadm list –p [ provider=provider-name | metaslot ]

インストールされているプロバイダのメカニズムポリシー (つまり、どのメカニズムが使用できて、どのメカニズムが使用できないか) を表示します。プロバイダ機能のポリシーまたはメタスロットも表示します。プロバイダを指定した場合、プロバイダの名前と、そのプロバイダにのみ適用されているメカニズムポリシーを表示します。metaslot キーワードを指定した場合、メタスロットに適用されているメカニズムポリシーを表示します。

cryptoadm list –v provider=provider-name | metaslot

プロバイダを指定した場合、指定されたプロバイダに関する詳細情報を表示します。metaslot キーワードを指定した場合、メタスロットに関する詳細情報を表示します。

–v

上記のさまざまな list サブコマンド (list –p を除く) で、–v (詳細) オプションは、プロバイダ、メカニズム、およびスロットの詳細情報を表示します。

cryptoadm disable provider=provider-name
[ mechanism=mechanism-list | provider-feature ... | all ]

プロバイダに指定されているメカニズムまたはプロバイダの機能を無効にします。mechanismprovider-feature、および all キーワードの説明については、「オペランド」の節を参照してください。

cryptoadm [ mechanism=mechanism-list ] [ auto-key-migrate ]

暗号化フレームワークでメタスロット機能を無効にするか、またはメタスロット機能の一部を無効にします。オペランドを指定しない場合、このコマンドは、暗号化フレームワークでメタスロット機能を無効にします。メカニズムのリストを指定した場合、メタスロットの指定されたメカニズムを無効にします。メタスロットのすべてのメカニズムを無効にした場合、メタスロットは無効化されます。メカニズムの説明については、「オペランド」の節を参照してください。auto-key-migrate キーワードを指定した場合、暗号化操作を実行するために必要な場合であっても、機密性の高いトークンオブジェクトのほかのスロットへの移行が無効になります。auto-key-migrate の説明については、「オペランド」の節を参照してください。

cryptoadm enable provider=provider-name
[ mechanism=mechanism-list | provider-feature ... | all ]

プロバイダに指定されているメカニズムまたはプロバイダの機能を有効にします。mechanismprovider-feature、および all キーワードの説明については、「オペランド」の節を参照してください。

cryptoadm enable metaslot [ mechanism=mechanism-list ] |
[ [ token=token-label] [ slot=slot-description] |
default-keystore ] | [ auto-key-migrate ]

オペランドを指定しない場合、このコマンドは、暗号化フレームワークでメタスロット機能を有効にします。メカニズムのリストを指定した場合、メタスロットの一連の指定されたメカニズムのみを有効にします。token-label を指定した場合、指定したトークンが永続オブジェクトストアとして使用されます。slot-description を指定した場合、指定したスロットが永続オブジェクトストアとして使用されます。token-labelslot-description の両方を指定した場合、一致するトークンラベルとスロットの説明を持つプロバイダが永続オブジェクトストアとして使用されます。default-keystore キーワードを指定した場合、メタスロットでデフォルトの永続オブジェクトストアが使用されます。auto-key-migrate キーワードを指定した場合、特定の暗号化操作を完了するために、必要に応じて機密性の高いトークンオブジェクトがほかのスロットに自動的に移行されます。メカニズム、トークン、スロット、default-keystore、および auto-key-migrate の説明については、「オペランド」の節を参照してください。

cryptoadm install provider=provider-name

ユーザーレベルプロバイダをシステムにインストールします。provider オペランドは、対応する共有ライブラリの絶対パス名である必要があります。ライブラリの 32 ビットバージョンと 64 ビットバージョンの両方がある場合は、$ISA を含むパス名を使用してこのコマンドを 1 回だけ実行するようにしてください。$ISA は、環境変数への参照ではありません。また、$ISA を引用符で囲むか (単一引用符を使用、[例: '$ISA'])、$ をエスケープして、シェルによって誤って展開されないようにする必要があります。ユーザーレベルフレームワークでは、$ISA が空の文字列またはアーキテクチャー固有のディレクトリ (例: sparcv9) に展開されます。

ユーザーレベルプロバイダをインストールする場合は、プロバイダのパッケージをビルドすることをお勧めします。詳細は、『Solaris セキュリティーサービス開発ガイド』を参照してください。

cryptoadm install provider=provider-name
mechanism=mechanism-list

カーネルソフトウェアプロバイダをシステムにインストールします。provider には、ベース名のみを含めるようにしてください。mechanism-list オペランドには、このプロバイダまたはキーワード all でサポートするメカニズムの完全なリストを指定します。

カーネルソフトウェアプロバイダをインストールする場合は、プロバイダのパッケージをビルドすることをお勧めします。詳細は、『Solaris セキュリティーサービス開発ガイド』を参照してください。

cryptoadm uninstall provider=provider-name

指定された provider と、関連付けられているメカニズムポリシーをシステムからアンインストールします。このサブコマンドは、ユーザーレベルプロバイダまたはカーネルソフトウェアプロバイダのみに適用されます。

cryptoadm unload provider=provider-name

provider によって指定されたカーネルソフトウェアモジュールを読み込み解除します。

cryptoadm disable fips-140

暗号化フレームワークおよびハードウェアプロバイダにおいて FIPS-140 モードを無効にします。無効化を完了するにはこのコマンドのあとにリブートが必要です。または、FIPS-140 モードが有効ではない BE をブートすることができます。

cryptoadm enable fips-140

暗号化フレームワークおよびハードウェアプロバイダにおいて FIPS-140 モードを有効にします。このサブコマンドは、ユーザーレベル pkcs11_softtoken ライブラリおよびカーネルソフトウェアプロバイダの FIPS 未承認アルゴリズムは無効にしません。FIPS 承認アルゴリズムのみを使用するかどうかは、フレームワークの消費者しだいです。

FIPS-140 モードを有効にする前に、beadm(1M) コマンドを使用して、新しいブート環境 (BE) を作成、アクティブ化、およびブートすることが重要です。FIPS-140 で必要な一部のテストは、障害時にパニックを引き起こすため、FIPS-140 の境界に関する問題を診断するときは、ブート可能な別の BE を実行した状態にしておくことが重要です。

このサブコマンドが完了すると、境界外に追加されたプラグインによって FIPS への準拠が無効化される可能性があること、およびそれらのプラグインのセキュリティーポリシーの確認が必要というメッセージが管理者に表示されます。

暗号化アルゴリズムテストおよびソフトウェア完全性テストを含む電源投入時自己診断を実行するために、システムをリブートする必要があります。

cryptoadm list fips-140

暗号化フレームワークおよびハードウェアプロバイダにおける FIPS-140 モードの現在の設定を表示します。FIPS-140 モードのステータスは、enabled または disabled です。デフォルトの FIPS-140 モードは、disabled です。

cryptoadm refresh
cryptoadm start
cryptoadm stop

smf(5) によって使用される非公開インタフェースです。これらは直接使用しないでください。

cryptoadm –help

コマンドの使用法を表示します。

オペランド

provider=provider-name

ユーザーレベルプロバイダ (PKCS11 共有ライブラリ)、カーネルソフトウェアプロバイダ (読み込み可能なカーネルソフトウェアモジュール)、またはカーネルハードウェアプロバイダ (暗号化ハードウェアデバイス) です。

provider オペランドの有効な値は、cryptoadm list 形式のコマンドの出力からの 1 つのエントリです。ユーザーレベルプロバイダの場合の provider オペランドは、対応する共有ライブラリの絶対パス名です。カーネルソフトウェアプロバイダの場合の provider オペランドには、ベース名のみを含めます。カーネルハードウェアプロバイダの場合の provider オペランドは、「name/number」の形式で指定します。

mechanism=mechanism-list

1 つ以上の PKCS #11 メカニズムのコンマ区切りのリストです。PKCS #11 の仕様で定義されている暗号化操作を実装するプロセスです。mechanism-list の代わりに all を使用することで、プロバイダのすべてのメカニズムを指定できます。下記の all キーワードについての説明を参照してください。

provider-feature

所定のプロバイダの暗号化フレームワークの機能です。現時点では、random のみが機能として受け入れられます。ユーザーレベルプロバイダの場合、ランダム機能を無効にすると、PKCS #11 ルーチン C_GenerateRandom および C_SeedRandom がプロバイダから使用できなくなります。カーネルプロバイダの場合、ランダム機能を無効にすると、/dev/random でプロバイダから乱数を収集できなくなります。

all

キーワード alldisableenable、および install サブコマンドとともに使用すると、すべてのプロバイダ機能に対して実行できます。

token=token-label

暗号化フレームワークにおけるいずれかのプロバイダのトークンのラベルです。

token オペランドの有効な値は、コマンド cryptoadm list –v の出力の「Token Label」に示されている項目です。

slot=slot-description

暗号化フレームワークにおけるいずれかのプロバイダのスロットの説明です。

slot オペランドの有効な値は、コマンド cryptoadm list –v の出力の「機能説明」に示されている項目です。

default-keystore

キーワード default-keystore は、メタスロットの場合のみ有効です。このキーワードを指定すると、メタスロットの永続オブジェクトストアの設定が、デフォルトのストアを使用するように戻されます。

auto-key-migrate

キーワード auto-key-migrate は、メタスロットの場合のみ有効です。このキーワードを指定して、暗号化操作を実行するために、メタスロットで、機密性の高いトークンオブジェクトをトークンオブジェクトスロットからほかのスロットに移動できるようにするかどうかを構成します。

キーワード all は、2 とおりの方法で disable サブコマンドおよび enable サブコマンドと組み合わせて使用できます。

  • 次のように、allmechanism=mechanism-list およびその他の provider-feature の代わりに使用できます。

    # cryptoadm enable provider=dca/0 all

    次のコマンドでは、プロバイダのメカニズムおよびその他の provider-feature (random など) が有効になります。

  • 次のように、allmechanism の引数として使用することもできます。

    # cryptoadm enable provider=des mechanism=all

    このコマンドでは、プロバイダのすべてのメカニズムが有効になりますが、ほかの provider-feature (random など) は有効にはなりません。

使用例 1 システムにインストールされているプロバイダの一覧の表示

次のコマンドは、インストールされているすべてのプロバイダの一覧を表示します。

example% cryptoadm list
user-level providers:
/usr/lib/security/$ISA/pkcs11_kernel.so
/usr/lib/security/$ISA/pkcs11_softtoken.so
/opt/lib/libcryptoki.so.1
/opt/system/core-osonn/lib/$ISA/libpkcs11.so.1
  
kernel providers:
    des
    aes
    bfish
    sha1
    md5
    dca/0
使用例 2 md5 プロバイダのメカニズムの一覧の表示

次のコマンドは、list サブコマンドの一種です。

example% cryptoadm list -m provider=md5
md5: CKM_MD5,CKM_MD5_HMAC,CKM_MD5_HMAC_GENERAL
使用例 3 カーネルソフトウェアプロバイダの特定のメカニズムの無効化

次のコマンドは、カーネルソフトウェアプロバイダ des のメカニズム CKM_DES3_ECB および CKM_DES3_CBC を無効にします。

example# cryptoadm disable provider=des
使用例 4 プロバイダのメカニズムポリシーの表示

次のコマンドは、des プロバイダのメカニズムポリシーを表示します。

example% cryptoadm list -p provider=des
des: All mechanisms are enabled, except CKM_DES3_ECB, CKM_DES3_CBC
使用例 5 プロバイダの特定のメカニズムの有効化

次のコマンドは、カーネルソフトウェアプロバイダ desCKM_DES3_ECB メカニズムを有効にします。

example# cryptoadm enable provider=des mechanism=CKM_DES3_ECB
使用例 6 ユーザーレベルプロバイダのインストール

次のコマンドは、ユーザーレベルプロバイダをインストールします。

example# cryptoadm install provider=/opt/lib/libcryptoki.so.1
使用例 7 32 ビットバージョンと 64 ビットバージョンを含むユーザーレベルプロバイダのインストール

次のコマンドは、32 ビットバージョンと 64 ビットバージョンの両方を含むユーザーレベルプロバイダをインストールします。

example# cryptoadm install \
provider=/opt/system/core-osonn/lib/'$ISA'/libpkcs11.so.1
使用例 8 プロバイダのアンインストール

次のコマンドは、md5 プロバイダをアンインストールします。

example# cryptoadm uninstall provider=md5
使用例 9 メタスロットの無効化

次のコマンドは、暗号化フレームワークでメタスロット機能を無効にします。

example# cryptoadm disable metaslot
使用例 10 指定されたトークンを永続オブジェクトストアとして使用するようにメタスロットを指定する

次のコマンドは、メタスロットが Venus トークンを永続オブジェクトストアとして使用するように指定します。

example# cryptoadm enable metaslot token="SUNW,venus"

終了ステータス

次の終了ステータスが返されます。

0

正常終了。

>0

エラーが発生した。

属性

属性についての詳細は、マニュアルページの attributes(5) を参照してください。

属性タイプ
属性値
使用条件
system/core-os
インタフェースの安定性
下記を参照。

startstop、および refresh の各オプションは、非公開インタフェースです。その他すべてのオプションおよびユーティリティー名は「確実」です。

関連項目

beadm(1M)logadm(1M)svcadm(1M)syslogd(1M)libpkcs11(3LIB)exec_attr(4)prof_attr(4)attributes(5)smf(5)random(7D)

Oracle Solaris 11.2 でのシステムおよび接続されたデバイスのセキュリティー保護

Solaris セキュリティーサービス開発ガイド

ハードウェアプロバイダのポリシーが明示的になっていて (つまり、そのメカニズムの一部が無効になっていて)、ハードウェアプロバイダが切り離されていた場合、このハードウェアプロバイダのポリシーは、引き続き一覧に表示されます。

cryptoadm では、少なくとも、32 ビット共有オブジェクトが各ユーザーレベルプロバイダに提供されていることを前提としています。32 ビットおよび 64 ビット共有オブジェクトの両方が提供されている場合、2 つのバージョンが同じ機能を提供している必要があります。両方に同じメカニズムポリシーが適用されます。