GSSAPI(3) | FreeBSD Library Functions Manual | GSSAPI(3) |
名称
gssapi — 一般的なセキュリティサービス APIライブラリ
GSS-API ライブラリ (libgssapi, -lgssapi)書式
#include < gssapi/gssapi.h>解説
一般的なセキュリティサービスアプリケーションプログラミングインタフェース (Generic Security Service Application Programming Interface) は、さまざまな基本的な暗号のメカニズムの上での実装を対象として、呼び出し側へのセキュリティサービスを提供します。通常、GSS-API の呼び出し側は、セキュリティ増強が GSS-API によって提供されたサービスの呼び出しを通して統合されているかへのアプリケーションプロトコルとなります。 GSS-API によって、呼び出し側のアプリケーションは、ピアへの権利を委任するために、そして、メッセージ毎をベースにして秘密性と整合性のようなセキュリティサービスを適用するために、ピア (相手側) アプリケーションに関連しているプリンシパルの識別を認証することができます。GSS-API を使用するために 4 つのステージがあります:
- a)
- アプリケーションは、他のプロセスへの識別を検証する 1 組の資格証明を獲得します。アプリケーションの資格証明は、実行されている任意のローカルのユーザ名に関連しているかどうか分からない、グローバルな識別を保証します。
- b)
-
1 組の通信アプリケーションは、それらの資格証明を使用して結合セキュリティコンテキストを確立します。セキュリティコンテキストは、メッセージ毎のセキュリティサービスを提供するために必要である共有された状態の情報を含む 1 組の GSS-API データ構造です。セキュリティコンテキストの一部としてアプリケーションの間で共有されるかもしれない状態の例は、暗号のキー、とメッセージシーケンス番号です。セキュリティコンテキストの確立の一部として、コンテキスト開始プログラムは、応答側に認証されて、応答側が順番に認証されることを必要とします。開始プログラムは、創始プログラムのエージェントまたは代表として振る舞う、さらなるセキュリティコンテキストを開始する権利を応答側にオプションで与えます。この権利の転送は、委任と呼ばれて、1 組の資格証明を作成することによって達成され、開始アプリケーションよって使用されるものと同様ですが、応答側によって使用されます。
セキュリティコンテキストを作る共有された情報を確立して保守するために、特定の GSS-API 呼び出しは、暗号化され保護されたデータを含む不透明な (サイズおよび形がわからない) データタイプである、トークンデータ構造を返します。そのような GSS-API ルーチンの呼び出し側は、アプリケーションプロトコルで必要ならカプセル化されたトークンをピアアプリケーションに転送する責任があります。そのようなトークンを受け取り次第、ピアアプリケーションは、それに応じてセキュリティコンテキスト状態の情報をアップデートして、トークンをデコードしてて、情報を抽出する対応する GSS-API ルーチンに渡すべきです。
- c)
-
メッセージ毎のサービスは、次のいずれかを適用するために呼び出されます:
整合性とデータ起源認証、または秘密性、整合性とアプリケーションデータへのデータ起源認証は、任意のオクテット文字列として GSS-API によって取り扱われます。保護したいメッセージを転送するアプリケーションは、保護を適用して、適切なセキュリティコンテキストを指定し、結果のトークンを受信アプリケーションに送信するために適切な GSS-API ルーチン (gss_get_mic または gss_wrap) を呼び出します。受信側は、保護を取り除いて、データを有効にするために、対応するデコードルーチン (gss_verify_mic または gss_unwrap) へ受信されたトークン (と、gss_get_mic によって保護されたデータの場合、添付のメッセージデータ) を渡します。
- d)
- 通信セッション (いくつかの転送の接続にわたって拡張されるかもしれない) の完了で、各アプリケーションは、セキュリティコンテキストを削除するために GSS-API ルーチンを呼び出します。また、複数のコンテキストは、アプリケーションのオプションで、単一の通信関連の中で (連続するか、または同時に) 使用されます。
GSS-API ROUTINES
このセクションは、GSS-API を構成するルーチンをリストし、それぞれのルーチンの目的の簡単な説明を提示します。GSS-API 資格証明管理ルーチン:
- gss_acquire_cred
- グローバルな識別仮定します;前もって存在している資格証明のための GSS-API 資格証明ハンドルを取得します。
- gss_add_cred
- 増加する資格証明を構成します
- gss_inquire_cred
- 資格証明に関する情報を取得します
- gss_inquire_cred_by_mech
- 資格証明に関するメカニズム毎の情報を取得します。
- gss_release_cred
- 資格証明ハンドルを破棄します。
GSS-API コンテキストレベルルーチン:
- gss_init_sec_context
- ピアアプリケーションでセキュリティコンテキストを開始する
- gss_accept_sec_context
- ピアアプリケーションによって開始されたセキュリティコンテキストを受け付ける
- gss_delete_sec_context
- セキュリティコンテキストを破棄します
- gss_process_context_token
- ピアアプリケーションからセキュリティコンテキストでトークンを処理します
- gss_context_time
- どれくらい長いコンテキストが有効なままで残るかを決定する
- gss_inquire_context
- セキュリティコンテキストに関する情報を取得する
- gss_wrap_size_limit
- コンテキストで gss_wrap(3) のためのトークンサイズの制限を決定する
- gss_export_sec_context
- セキュリティコンテキストを別のプロセスに転送します
- gss_import_sec_context
- 転送されたコンテキストをインポートする
GSS-API のメッセージ毎のルーチン:
- gss_get_mic
- メッセージのために暗号メッセージの整合性コード (MIC) を計算する;整合性サービス
- gss_verify_mic
- メッセージに対して MIC をチェックする;受信されたメッセージの整合性を確認する
- gss_wrap
- MIC をメッセージにアタッチし、オプションでメッセージの内容を暗号化します;秘密性サービス
- gss_unwrap
- アタッチされた MIC でメッセージを検証し、必要なら、暗号化されたメッセージの内容を復号化します
GSS-API 名前操作ルーチン:
- gss_import_name
- 隣接する文字列名を内部の形式に変換します
- gss_display_name
- 内部の形式名をテキストに変換します
- gss_compare_name
- 2 つの内部の形式名を比較します
- gss_release_name
- 内部の形式名を破棄します
- gss_inquire_names_for_mech
- 指定されたメカニズムによってサポートされた名前タイプをリストします
- gss_inquire_mechs_for_name
- 指定された名前タイプをサポートするメカニズムをリストします
- gss_canonicalize_name
- 内部名を NM に変換します
- gss_export_name
- NM をエクスポート形式を変換します
- gss_duplicate_name
- 内部名のコピーを作成します
GSS-API のその他のルーチン
- gss_add_oid_set_member
- オブジェクト識別子をセットに追加します
- gss_display_status
- GSS-API 状態コードをテキストに変換します
- gss_indicate_mechs
- 利用可能な基本的な認証メカニズムを決定します
- gss_release_buffer
- バッファを廃棄します
- gss_release_oid_set
- 1 組のオブジェクト識別子を破棄します
- gss_create_empty_oid_set
- オブジェクト識別子を含まないセットを作成します
- gss_test_oid_set_member
- オブジェクト識別子が 1 組のメンバであるかどうか決定します。
個々の GSS-API 実装は、必要な機能性が一般的な形式から利用可能でないなら、追加のメカニズム特有のルーチンを提供することによって、これらのルーチンを増補します。アプリケーションは、移植性のある領域で可能な限り一般的なルーチンを使用することが奨励されます。
規格
- RFC 2743
- Generic Security Service Application Program Interface Version 2, Update 1
- RFC 2744
- Generic Security Service API Version 2 : C-bindings
歴史
gssapi ライブラリは、 FreeBSD 7.0 ではじめて登場しました。作者
John Wray, Iris AssociatesCOPYRIGHT
Copyright (C) The Internet Society (2000). All Rights Reserved.This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English.
The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
January 26, 2010 | FreeBSD |