ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle Solaris 11 セキュリティーサービス開発ガイド Oracle Solaris 11 Information Library (日本語) |
1. Oracle Solaris の開発者向けセキュリティー機能 (概要)
3. PAM アプリケーションおよび PAM サービスの記述
8. Oracle Solaris 暗号化フレームワークの紹介
9. ユーザーレベルの暗号化アプリケーションとプロバイダの記述
暗号化サービスを取得するアプリケーション、ライブラリ、またはカーネルモジュールはコンシューマと呼ばれます。 フレームワーク経由でコンシューマに暗号化サービスを提供するアプリケーションはプロバイダまたはプラグインと呼ばれます。 暗号化処理を実装するソフトウェアは「機構」と呼ばれます。 機構は単なるアルゴリズムではなく、アルゴリズムの適用方法をも含みます。 たとえば、DES アルゴリズムを認証に適用する場合、それは 1 つの独立した機構であるとみなされます。 DES をブロック単位の暗号化に適用する場合、それは別の機構になります。
トークンとは、暗号化機能を持つデバイスを抽象化した概念です。 また、トークンには暗号化処理で使用する情報を格納することもできます。 1 つのトークンで 1 つ以上の機構をサポートできます。 トークンは、アクセラレータボードの場合と同様に、ハードウェアを表現できます。 純粋なソフトウェアを表現するトークンはソフトトークンと呼ばれます。 トークンは溝穴 (スロット) に差し込む (プラグイン) ことができます (これも物理的なたとえです)。 スロットは、暗号化サービスを使用するアプリケーションに対する接続ポイントです。
プロバイダ用の特定のスロットのほかに、Oracle Solaris 実装はメタスロットと呼ばれる特殊なスロットを提供します。 メタスロットは、Oracle Solaris 暗号化フレームワークライブラリ (libpkcs11.so) のコンポーネントです。 メタスロットは、フレームワークにインストールされているすべてのトークンとスロットの機能を結合させて単一の仮想スロットで提供するコンポーネントです。 メタスロットにより、事実上、アプリケーションから利用可能なすべての暗号化サービスに単一のスロットを通じて透過的に接続できるようになります。 アプリケーションが暗号化サービスを要求すると、メタスロットはもっとも適したスロットを示し、これによりスロットの選択処理が簡単になります。 それとは異なるスロットが必要となる場合がありますが、その場合はアプリケーションが個別に明示的な検索を実行する必要があります。 メタスロットは自動的に有効になり、システム管理者の明示的な操作によってのみ無効にできます。
セッションとは、暗号化サービスを使用するアプリケーションとトークン間に確立される接続のことです。 PKCS #11 標準で使用されるオブジェクトには、次の 2 種類があります。 トークンオブジェクトとセッションオブジェクトです。 「セッションオブジェクト」は一時的なオブジェクト、つまりセッション期間内でのみ存在できるオブジェクトです。 セッション終了後も存続するオブジェクトが「トークンオブジェクト」と呼ばれます。
トークンオブジェクトのデフォルトの格納場所は、$HOME/.sunw/pkcs11_softtoken です。 また、トークンオブジェクトを $SOFTTOKEN_DIR/pkcs11_softtoken に格納することも可能です。 非公開のトークンオブジェクトは個人識別番号 (Personal Identification Number、PIN) によって保護されます。 トークンオブジェクトを作成または変更するユーザーは、非公開のトークンオブジェクトにアクセスするのでない限り、必ず認証を受ける必要があります。