JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Oracle Solaris セキュリティーサービス開発ガイド     Oracle Solaris 10 8/11 Information Library (日本語)
search filter icon
search icon

ドキュメントの情報

はじめに

1.  Oracle Solaris の開発者向けセキュリティー機能 (概要)

2.  特権付きアプリケーションの開発

3.  PAM アプリケーションおよび PAM サービスの記述

4.  GSS-API を使用するアプリケーションの記述

5.  GSS-API クライアント例

6.  GSS-API サーバー例

7.  SASL を使用するアプリケーションの記述

8.  Oracle Solaris 暗号化フレームワークの紹介

9.  ユーザーレベルの暗号化アプリケーションとプロバイダの記述

10.  スマートカードフレームワークの使用

A.  C ベース の GSS-API プログラム例

B.  GSS-API リファレンス

C.  OID の指定

D.  SASL ソースコード例

E.  SASL リファレンス

F.  暗号化プロバイダのパッケージ化と署名

暗号化プロバイダアプリケーションおよびモジュールのパッケージ化

米国政府の輸出法への準拠

ユーザーレベルのプロバイダアプリケーションのパッケージ化

カーネルレベルのプロバイダモジュールのパッケージ化

プロバイダへの署名の追加

プロバイダに署名するための証明書を要求するには

プロバイダに署名するには

プロバイダが署名されているかどうかを確認するには

リテール版の輸出用の起動ファイルを作成するには

用語集

索引

暗号化プロバイダアプリケーションおよびモジュールのパッケージ化

Solaris オペレーティングシステムでは、アプリケーションソフトウェアは「パッケージ」と呼ばれる単位で配布されます。パッケージとは、ソフトウェア製品の配布とインストールに必要なファイルの集まりです。通常、パッケージは、アプリケーションコードの開発が完了したあとでアプリケーション開発者が設計して作成します。ソフトウェアアプリケーションのパッケージ化の概要については、『アプリケーションパッケージ開発者ガイド』を参照してください。

暗号化プロバイダのパッケージ化には、次の 2 つの要件があります。

米国政府の輸出法への準拠

米国政府は、公開された暗号化インタフェース (「crypto-with-a-hole」とも呼ばれる) の輸出を制限しています。この制限のために、プロバイダのすべてのベンダーは米国政府から輸出の承認を得る必要があります。ベンダーは、輸出法に準拠していることを示すために、Oracle Corporation が発行する証明書を要求する必要があります。そして、ベンダーは、プロバイダの電子署名を行い、証明書を添付してソフトウェアを出荷します。

輸出承認プロセスでは、暗号化の強度によってソフトウェアを使用できる国が決まります。米国政府では、アメリカ合衆国で製造される暗号化製品に対して 2 つの輸出カテゴリを定義しています。

プロバイダが非リテール承認を得ている場合は、リテール承認を受けられるようにすることができます。リテール承認を得るには、IPsec などの特定の呼び出し側によるプロバイダの使用を禁止します。Oracle では、この場合、制限付きと制限なしの 2 つの証明書を用意します。どちらの証明書を使用するかは、証明書要求プロセス (「プロバイダに署名するための証明書を要求するには」) で指定します。また、特別な起動ファイルを作成および署名し、プロバイダとともに出荷する必要があります。「リテール版の輸出用の起動ファイルを作成するには」を参照してください。

ユーザーレベルのプロバイダアプリケーションのパッケージ化

Sun 以外で、ユーザーレベルの暗号化プロバイダアプリケーションの開発者は、次の処理を実行します。

  1. Oracle Corporation から証明書を取得します。続いて、ライブラリに署名します。「プロバイダへの署名の追加」を参照してください。

  2. 証明書を添付してパッケージを出荷します。証明書は、/etc/crypto/certs ディレクトリに格納する必要があります。

  3. pkcs11conf クラスを pkginfo ファイルの CLASSES 文字列内に追加します。次の行を追加してください。

    CLASS=none pkcs11conf
  4. 入力ファイル pkcs11.conf/etc/crypto ディレクトリに作成します。

    ユーザーレベルのプロバイダの入力ファイル名は、pkcs11.conf です。このファイルは、プロバイダへのパスを示します。pkcs11.conf では、エントリに次の構文を使用します。

    filename

    このエントリは、ファイルへの絶対パス (/opt/lib/$ISA/myProviderApp.so など) です。pkgadd を実行すると、このファイルが構成ファイルに追加されます。パス名の $ISA 表現を書き留めておいてください。$ISA は、必要に応じて、32 ビット版または 64 ビット版のアプリケーションを指します。

  5. 次の行をパッケージのプロトタイプファイルに追加します。

    e pkcs11conf etc/crypto/pkcs11conf 0644 root sys

カーネルレベルのプロバイダモジュールのパッケージ化

Sun 以外で、カーネルレベルの暗号化プロバイダモジュールの開発者は、次の処理を実行します。

  1. Oracle Corporation から証明書を取得します。続いて、カーネルソフトウェアモジュールまたはデバイスドライバに署名します。「プロバイダへの署名の追加」を参照してください。

  2. 証明書を添付してパッケージを出荷します。証明書は、/etc/crypto/certs ディレクトリに格納する必要があります。

  3. kcfconf クラスを pkginfo ファイルの CLASSES 文字列内に追加します。次の行を追加してください。

    CLASS=none kcfconf
  4. 入力ファイル kcf.conf/etc/crypto ディレクトリに作成します。このファイルは、ソフトウェアとハードウェアのプラグインをカーネル構成ファイルに追加します。

    • プロバイダが暗号化機構を備えたカーネルソフトウェアモジュールである場合は、エントリに次の構文を使用します。

      provider-name:supportedlist=mech1,mech2,...
      provider-name

      カーネルソフトウェアモジュールのベース名

      mech*

      リスト内の暗号化機構の名前

      次のエントリは、カーネルソフトウェアモジュールの例です。

      des:supportedlist=CKM_DES_CBC,CKM_DES_ECB,CKM_DES_CFB
    • プロバイダが暗号化機構用のデバイスドライバ (アクセラレータカードなど) である場合は、エントリに次の構文を使用します。

      driver_names=devicedriver1,devicedriver2,...
      devicedriver*

      暗号化デバイス用のデバイスドライバの名前

      次のエントリは、デバイスドライバの例です。

      driver_names=dca