Oracle® Solaris 11 セキュリティー開発者ガイド

印刷ビューの終了

更新: 2014 年 7 月
 
 

ネットワークセキュリティーアーキテクチャー

ネットワークセキュリティーアーキテクチャーは、PAM、GSS-API、SASL、RSA Security Inc. PKCS #11 Cryptographic Token Interface (Cryptoki) といった業界標準のインタフェースに対応しています。標準化されたプロトコルやインタフェースを使用することで、開発者は、セキュリティー技術が進歩しても変更する必要のないコンシューマとプロバイダを記述できます。

セキュリティーサービスを使用するアプリケーション、ライブラリ、またはカーネルモジュールはコンシューマと呼ばれます。コンシューマにセキュリティーサービスを提供するアプリケーションは、「プロバイダ」または「プラグイン」と呼ばれます。暗号化処理を実装するソフトウェアは「メカニズム」と呼ばれます。メカニズムは単なるアルゴリズムではなく、アルゴリズムの適用方法も含んだ概念です。たとえば、あるメカニズムは DES アルゴリズムを認証に適用します。一方、別のメカニズムは DES をデータ保護 (ブロック単位の暗号化) に適用します。

ネットワークセキュリティーアーキテクチャーを使えば、コンシューマ開発者が暗号化アルゴリズムを記述、保守、および最適化する必要がなくなります。最適化された暗号化メカニズムが、アーキテクチャーの一部として提供されます。

    Oracle Solaris OS が提供する公開セキュリティーインタフェースは、次のとおりです。

  • PAM – プラグイン可能な認証モジュール (Pluggable Authentication Module)。PAM モジュールは主に、初期段階でシステムに対してユーザーを認証する際に使用されます。ユーザーはログイン時に、GUI、コマンド行、またはその他の方法を使用できます。PAM は、認証サービスのほかに、アカウント、セッション、およびパスワードを管理するためのサービスも提供します。loginrlogintelnet などのアプリケーションは、PAM サービスの一般的なコンシューマです。PAM SPI は、Kerberos v5 などのセキュリティープロバイダからサービスを提供されます。Chapter 3, Writing PAM Applications and Servicesを参照してください。

  • GSS-API – 汎用セキュリティーサービスアプリケーションプログラムインタフェース (Generic Security Service Application Program Interface)。GSS-API は、ピアとなるアプリケーション間のセキュアな通信を可能にします。また、GSS-API は認証、整合性、機密性の各保護サービスも提供します。GSS-API の Oracle Solaris 実装は、Kerberos v5、SPNEGO、および Diffie-Hellman 暗号化に対応しています。GSS-API は主に、セキュアなアプリケーションプロトコルを設計または実装する際に使用されます。GSS-API は、SASL など、ほかの種類のプロトコルに対してサービスを提供できます。GSS-API は、SASL 経由で LDAP にサービスを提供します。

    一般に、GSS-API は、初期の資格確立後にネットワーク上で通信している 2 つのピアとなるアプリケーションによって使用されます。特に GSS-API は、ログインアプリケーション、NFS、および ftp によって使用されます。

    GSS-API の概要については、Chapter 4, Writing Applications That Use GSS-APIを参照してください。Chapter 5, GSS-API Client ExampleChapter 6, GSS-API Server Exampleでは、2 つの一般的な GSS-API アプリケーションのソースコードについて説明します。Appendix B, Sample C–Based GSS-API Programsでは、GSS-API のソースコードの例を提供します。Appendix C, GSS-API Referenceでは、GSS-API のリファレンス情報を提供します。Appendix D, Specifying an OIDでは、デフォルト以外のメカニズムを指定する方法を説明します。

  • SASL – 簡易認証セキュリティー層 (Simple Authentication and Security Layer)。SASL は主に、認証、機密性、データ整合性を必要とするプロトコルによって使用されます。SASL は、セキュリティーメカニズムの動的折衝を使用してセッションを保護する、比較的高レベルのネットワークベースアプリケーション向けに設計されています。LDAP は著名な SASL コンシューマの 1 つです。SASL は GSS-API に似ています。SASL のほうが GSS-API よりもいくぶん高レベルです。SASL は GSS-API サービスを使用します。Chapter 7, Writing Applications That Use SASLを参照してください。