ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
マニュアルページセクション 5: 標準、環境、マクロ Oracle Solaris 11.1 Information Library (日本語) |
- Oracle Key Manager の RSA PKCS#11 プロバイダ
/usr/lib/security/pkcs11_kms.so
/usr/lib/security/64/pkcs11_kms.so
pkcs11_kms.so オブジェクトは、Oracle Key Manager (OKM) KMS エージェントプロトコルを使用して Oracle Key Manager アプライアンス (KMA) と対話するために、RSA Security Inc. PKCS#11 Cryptographic Token Interface (Cryptoki)、v2.20 仕様を実装します。このプロバイダは PKCS#11 仕様を実装し、(非公開) KMS クライアントプロトコルを使用してリモート OKM と通信します。
このプロバイダでサポートされている PKCS#11 メカニズムは、CKM_AES_KEY_GEN 、CKM_AES_CBC_PAD、および CKM_AES_CBC です。
このプロバイダでサポートされている PKCS#11 インタフェースは次のとおりです。
C_Initialize C_Finalize C_GetInfo C_GetAttributeValue C_SetAttributeValue C_GetFunctionList C_GetSlotList C_GetSlotInfo C_GetTokenInfo C_GetMechanismList C_GetMechanismInfo C_InitToken C_SetPIN C_Login C_Logout C_FindObjectsInit/C_FindObjects/C_FindObjectsFinal C_GenerateKey C_EncryptInit/C_Encrypt/C_EncryptFinal C_DecryptInit/C_Decrypt/C_DecryptFinal C_DestroyObject C_OpenSession C_CloseSession C_CloseAllSessions C_GetSessionInfo C_CreateObject C_CopyObject C_GetObjectSize C_EncryptUpdate C_DecryptUpdate
その他の関数を呼び出すと、すべて CKR_FUNCTION_NOT_SUPPORTED が返されます。
pkcs11_kms プロバイダは、OKM にアクセスできるシステムでのみ使用できます。OKM 管理者は、OKM にアクセスする各ユーザー (またはアプリケーション) について、エージェント ID を構成する必要があります。これには OKM 管理ツールに含まれている OKM ユーティリティーを使用します。これらのユーティリティーは Oracle Solaris には含まれていません。
OKM 管理者が KMA を使用できるように構成し、パラメータをクライアント (Oracle Solaris のユーザーまたはアプリケーション) に通知したあと、Oracle Solaris PKCS#11 KMS プロバイダを初期化して使用できるようにします。
KMS プロバイダの初期化には、kmscfg(1M) ユーティリティーを使用します。ローカルプロバイダの構成ファイルを使用できるように初期化するには、ユーザーは kmscfg に少なくともプロファイルの名前、OKM エージェント ID、プロファイルのセキュリティー保護に使用されている初期パスワード、および KMA の IP アドレスを入力する必要があります。詳細については、kmscfg(1M) のマニュアルページを参照してください。
kmscfg を実行し、ローカルのトークン名前空間を構成したあと、ユーザーはトークンを使用するために初期化できます。トークンを初期化するには、pktool(1) コマンドを次のように使用します。
$ pktool inittoken currlabel=KMS
ユーザーは KMS プロバイダを使用するために初期化する前に、SO (セキュリティー責任者) のデフォルトの PIN を入力する必要があります。デフォルトの SO PIN は、OKM 管理者が最初に OKM エージェントを設定したときに使用したものです。トークンの初期化を行うユーザーは、このパスフレーズを知らなければプロバイダを初期化できません。
プロバイダを初期化したあとは、ユーザー PIN をデフォルト値から変更できます。PIN の値を変更するには、再度 pktool(1) を使用します。
ローカル PIN を変更するには、次のコマンドを使用します。
$ pktool setpin token=KMS
pktool setpin 操作または C_Login() 関数と C_SetPIN() 関数に設定する PIN には、長さが 1 から 256 までで、空文字を含まない、任意の文字列を使用できます。
トークンへのアクセス
ユーザーは自分のトークンを初期化したあと、pktool(1)、decrypt(1)、encrypt(1) で、または PKCS11 アプリケーションを作成することにより、KMS トークンを指定してトークンの使用を開始できます。
例 1 Oracle Key Manager に鍵を作成する
次のコマンドは、Oracle Key Manager に鍵を作成します。
$ pktool genkey token=KMS label=mykey1 keytype=aes keylen=256
例 2 Oracle Key Manager の鍵を使用してファイルを暗号化する
次のコマンドは、Oracle Key Manager の鍵を使用してファイルを暗号化します。
$ encrypt -a aes -K mykey1 -T KMS -i input.txt -o output.enc
例 3 Oracle Key Manager の鍵を使用してファイルを復号化する
次のコマンドは、Oracle Key Manager の鍵を使用してファイルを復号化します。
$ decrypt -a aes -K mykey1 -T KMS -i output.enc -o output.txt
属性についての詳細は、attributes(5) を参照してください。
|
「MT-安全」属性の例外については、RSA PKCS#11 v2.20 のセクション 6.6.2 を参照してください。
decrypt(1), encrypt(1), pktool(1), cryptoadm(1M), kmscfg(1M), libpkcs11(3LIB), attributes(5)
『KMS 2.2: Administration Guide』
『Oracle Key Manager (OKM) Administration Guide』
pkcs11_kms.so は、専用のディレクトリを使用して、構成ファイルおよび KMA への接続を初期化するために必要なほかのデータを保持します。この専用ディレクトリは、それが最初に作成されたホストに対してローカルなディレクトリです。デフォルトでは、KMS トークンのディレクトリ領域は /var/user/$USERNAME/kms です。デフォルトの KMS ディレクトリは、kmscfg(1M)、decrypt(1)、encrypt(1)、および pktool(1) コマンドを使用する前に KMSTOKEN_DIR 環境変数を設定することによってオーバーライドできます。
PKCS#11 クライアントでは、Oracle Key Manager のソフトウェアバージョン 2.4 がインストールされていることが必要です。
PKCS#11 クライアントが、複数システムから同じエージェント ID を使用している場合、このエージェントはワンタイムパスフレーズフラグを設定しないで作成する必要があります。このオプションは、OKM クラスタの一部のメンバーが 2.4 より前の OKM ソフトウェアバージョンを実行している場合は使用できません。エージェントの作成の詳細は、『Oracle Key Manager (OKM) 管理ガイド』を参照してください。
OKM エージェントは、PKCS#11 クライアントの鍵の作成に使用される前に、デフォルト鍵グループが割り当てられる必要があります。デフォルト鍵グループがエージェントに割り当てられない場合、操作は CKR_PIN_INCORRECT エラーで失敗します。エージェントへの鍵グループ割り当ての詳細については、『Oracle Key Manager (OKM) Administration Guide』を参照してください。