マニュアルページセク ション 5: 標準、環境、マクロ

印刷ビューの終了

更新: 2014 年 7 月
 
 

pkcs11_kms(5)

名前

pkcs11_kms - 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) を参照してください。

属性タイプ
属性値
使用条件
/system/library/security/crypto/pkcs11_kms
インタフェースの安定性
確実
MT レベル
例外付きで MT-安全。下記を参照。
標準
PKCS#11 v2.20

「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』を参照してください。