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

Oracle Solaris の暗号化に関する用語

暗号化サービスを取得するアプリケーション、ライブラリ、またはカーネルモジュールは「コンシューマ」と呼ばれます。フレームワーク経由でコンシューマに暗号化サービスを提供するアプリケーションは「プロバイダ」または「プラグイン」と呼ばれます。暗号化処理を実装するソフトウェアは「機構」と呼ばれます。機構は単なるアルゴリズムではなく、アルゴリズムの適用方法をも含みます。たとえば、DES アルゴリズムを認証に適用する場合、それは 1 つの独立した機構であるとみなされます。DES をブロック単位の暗号化に適用する場合、それは別の機構になります。

「トークン」とは、暗号化機能を持つデバイスを抽象化した概念です。 また、トークンには暗号化処理で使用する情報を格納することもできます。1 つのトークンで 1 つ以上の機構をサポートできます。トークンは、アクセラレータボードの場合と同様に、ハードウェアを表現できます。純粋なソフトウェアを表現するトークンは「ソフトトークン」と呼ばれます。トークンは溝穴 (スロット) に差し込む (プラグイン) ことができます (これも物理的なたとえです)。スロットは、暗号化サービスを使用するアプリケーションに対する接続ポイントです。

プロバイダ用の特定のスロットのほかに、Solaris 実装は「メタスロット」と呼ばれる特殊なスロットを提供します。メタスロットは、Solaris 暗号化フレームワークライブラリ (libpkcs11.so) のコンポーネントです。メタスロットは、フレームワークにインストールされているすべてのトークンとスロットの機能を結合させて単一の仮想スロットで提供するコンポーネントです。メタスロットにより、事実上、アプリケーションから利用可能なすべての暗号化サービスに単一のスロットを通じて透過的に接続できるようになります。アプリケーションが暗号化サービスを要求すると、メタスロットはもっとも適したスロットを示し、これによりスロットの選択処理が簡単になります。それとは異なるスロットが必要となる場合がありますが、その場合はアプリケーションが個別に明示的な検索を実行する必要があります。メタスロットは自動的に有効になり、システム管理者の明示的な操作によってのみ無効にできます。

「セッション」とは、暗号化サービスを使用するアプリケーションとトークン間に確立される接続のことです。PKCS #11 標準で使用されるオブジェクトには、次の 2 種類があります。 トークンオブジェクトとセッションオブジェクトです。「セッションオブジェクト」は一時的なオブジェクト、つまりセッション期間内でのみ存在できるオブジェクトです。セッション終了後も存続するオブジェクトが「トークンオブジェクト」と呼ばれます。

トークンオブジェクトのデフォルトの格納場所は、$HOME/.sunw/pkcs11_softtoken です。また、トークンオブジェクトを $SOFTTOKEN_DIR/pkcs11_softtoken に格納することも可能です。非公開のトークンオブジェクトは個人識別番号 (Personal Identification Number、PIN) によって保護されます。トークンオブジェクトを作成または変更するユーザーは、非公開のトークンオブジェクトにアクセスするのでない限り、必ず認証を受ける必要があります。