Network Working Group N. Williams Request for Comments: 5587 Sun Category: Standards Track July 2009
Extended Generic Security Service Mechanism Inquiry APIs
Abstract
抽象
This document introduces new application programming interfaces (APIs) to the Generic Security Services API (GSS-API) for extended mechanism attribute inquiry. These interfaces are primarily intended to reduce instances of hardcoding of mechanism identifiers in GSS applications.
この文書では、拡張メカニズムの属性照会のための一般的なセキュリティサービスAPI(GSS-API)に新しいアプリケーション・プログラミング・インターフェース(API)を紹介します。これらのインタフェースは、主にGSSアプリケーション機構識別子のハードコードのインスタンスを減らすことを意図しています。
These interfaces include mechanism attributes and attribute sets, a function for inquiring the attributes of a mechanism, a function for indicating mechanisms that possess given attributes, and a function for displaying mechanism attributes.
これらのインタフェースは、メカニズムの属性を含めると、機構の属性を表示するための所定の属性を有する機構、及び機能を示す機能メカニズムの属性を問い合わせる機能を設定属性。
Status of This Memo
このメモのステータス
This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited.
この文書は、インターネットコミュニティのためのインターネット標準トラックプロトコルを指定し、改善のための議論と提案を要求します。このプロトコルの標準化状態と状態への「インターネット公式プロトコル標準」(STD 1)の最新版を参照してください。このメモの配布は無制限です。
Copyright Notice
著作権表示
Copyright (c) 2009 IETF Trust and the persons identified as the document authors. All rights reserved.
著作権(C)2009 IETF信託とドキュメントの作成者として特定の人物。全著作権所有。
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents in effect on the date of publication of this document (http://trustee.ietf.org/license-info). Please review these documents carefully, as they describe your rights and restrictions with respect to this document.
この文書では、BCP 78と、この文書(http://trustee.ietf.org/license-info)の発行日に有効なIETFドキュメントに関連IETFトラストの法律の規定に従うものとします。彼らは、この文書に関してあなたの権利と制限を説明するように、慎重にこれらの文書を確認してください。
Table of Contents
目次
1. Introduction ....................................................2 2. Conventions Used in This Document ...............................2 3. New GSS-API Interfaces ..........................................3 3.1. Mechanism Attributes and Attribute Sets ....................3 3.2. List of Known Mechanism Attributes .........................4 3.3. Mechanism Attribute Sets of Existing Mechs .................6 3.4. New GSS-API Function Interfaces ............................8 3.4.1. Mechanism Attribute Criticality .....................8 3.4.2. GSS_Indicate_mechs_by_attrs() .......................9 3.4.3. GSS_Inquire_attrs_for_mech() .......................10 3.4.4. GSS_Display_mech_attr() ............................10 3.4.5. New Major Status Values ............................11 3.4.6. C-Bindings .........................................11 4. Requirements for Mechanism Designers ...........................13 5. IANA Considerations ............................................13 6. Security Considerations ........................................13 7. References .....................................................13 7.1. Normative References ......................................13 7.2. Informative References ....................................14 Appendix A. Typedefs and C Bindings ..................................15
GSS-API [RFC2743] mechanisms have a number of properties that may be of interest to applications. The lack of APIs for inquiring about available mechanisms' properties has meant that many GSS-API applications must hardcode mechanism Object Identifiers (OIDs). Ongoing work may result in a variety of new GSS-API mechanisms. Applications should not have to hardcode their OIDs.
GSS-API [RFC2743]メカニズムは、アプリケーションに関心のある多くの特性を有しています。利用可能なメカニズムのプロパティを問い合わせるためのAPIの欠如は、多くのGSS-APIアプリケーションは機構オブジェクト識別子(OID)をハードコーディングしなければならないことを意味しています。進行中の作業は、新しいGSS-APIメカニズムの様々な可能性があります。アプリケーションは、そのOIDをハードコーディングする必要はありません。
For example, the Secure Shell version 2 (SSHv2) protocol [RFC4251] supports the use of GSS-API mechanisms for authentication [RFC4462] but explicitly prohibits the use of Simple and Protected GSS-API Negotiation (SPNEGO) [RFC4178]. Future mechanisms that negotiate mechanisms would have to be forbidden as well, but there is no way to implement applications that inquire what mechanisms are available and then programmatically exclude mechanisms "like SPNEGO".
例えば、セキュアシェルバージョン2(SSHv2の)プロトコル[RFC4251]は、認証[RFC4462]のためのGSS-API機構の使用をサポートしていますが、明示的に単純で保護されたGSS-APIネゴシエーション(SPNEGO)[RFC4178]の使用を禁止します。メカニズムを交渉今後のメカニズムは、同様に禁止する必要があるだろうが、メカニズムが利用可能であり、その後、プログラムで「SPNEGOのように」のメカニズムを除外するもの問い合わせるアプリケーションを実装する方法はありません。
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119].
この文書のキーワード "MUST"、 "MUST NOT"、 "REQUIRED"、、、、 "べきではない" "べきである" "ないもの" "ものとし"、 "推奨"、 "MAY"、および "OPTIONAL" はあります[RFC2119]に記載されているように解釈されます。
We introduce a new concept -- that of mechanism attributes. By allowing applications to query the set of attributes associated with individual mechanisms and to find out which mechanisms support a given set of attributes, we allow applications to select mechanisms based on their attributes without having to hardcode mechanism OIDs.
私たちは、新しい概念を導入 - メカニズム属性のことを。アプリケーションは、個々のメカニズムに関連した一連の属性を照会すると、属性のセットをサポートするメカニズムを見つけるようにすることによって、我々は、アプリケーションがメカニズムのOIDをハードコーディングすることなく、その属性に基づいたメカニズムを選択することができます。
Section 3.1 describes the mechanism attributes concept. Sections 3.4.2, 3.4.3, and 3.4.4 describe three new interfaces that deal in mechanisms and attribute sets:
3.1節ではメカニズムがコンセプトの属性について説明します。セクション3.4.2、3.4.3、および3.4.4は、メカニズムに対処し、属性セットを3つの新しいインターフェイスを説明します。
o GSS_Indicate_mechs_by_attrs()
O GSS_Indicate_mechs_by_attrs()
o GSS_Inquire_attrs_for_mech()
O GSS_Inquire_attrs_for_mech()
o GSS_Display_mech_attr()
O GSS_Display_mech_attr()
An abstraction for the features provided by mechanisms and pseudo-mechanisms is needed in order to facilitate the programmatic selection of mechanisms. Pseudo-mechanisms are mechanisms that make reference to other mechanisms in order to provide their services. For example, SPNEGO is a pseudo-mechanism, for without other mechanisms SPNEGO is useless.
メカニズム擬似メカニズムによって提供される機能のための抽象化は、機構のプログラム選択を容易にするために必要とされます。擬似メカニズムは、そのサービスを提供するために、他のメカニズムへの参照を行う仕組みです。他の機構なしSPNEGOは無用であるため、例えば、SPNEGOは、擬似機構です。
Two data types are needed: one for individual mechanism attributes and one for mechanism attribute sets. To simplify the mechanism attribute interfaces, we reuse the 'OID' and 'OID set' data types and model individual mechanism attribute types as OIDs.
2つのデータ型が必要とされています。個々のメカニズム属性用とメカニズムのための1つは、属性セット。メカニズムは、インタフェース属性簡素化するために、我々は「OID」と「OIDセットのデータ・タイプおよびモデル個々のメカニズムがOIDのようなタイプの属性を再利用します。
To this end, we define an open namespace of mechanism attributes and assign them arcs off of this OID:
この目的のために、我々はメカニズム属性のオープン名前空間を定義し、それらにこのOIDのオフ弧を割り当てます。
<1.3.6.1.5.5.13>
<1。3。6。1。5。5。13>
Each mechanism has a set of mechanism attributes that it supports as described in its specification.
各メカニズムは、メカニズムのセットがその仕様で説明したように、それがサポートしている属性があります。
+-------------------------+---------+-------------------------+ | Mech Attr Name | OID Arc | Arc Name | +-------------------------+---------+-------------------------+ | GSS_C_MA_MECH_CONCRETE | (1) | concrete-mech | | GSS_C_MA_MECH_PSEUDO | (2) | pseudo-mech | | GSS_C_MA_MECH_COMPOSITE | (3) | composite-mech | | GSS_C_MA_MECH_NEGO | (4) | mech-negotiation-mech | | GSS_C_MA_MECH_GLUE | (5) | mech-glue | | GSS_C_MA_NOT_MECH | (6) | not-mech | | GSS_C_MA_DEPRECATED | (7) | mech-deprecated | | GSS_C_MA_NOT_DFLT_MECH | (8) | mech-not-default | | GSS_C_MA_ITOK_FRAMED | (9) | initial-is-framed | | GSS_C_MA_AUTH_INIT | (10) | auth-init-princ | | GSS_C_MA_AUTH_TARG | (11) | auth-targ-princ | | GSS_C_MA_AUTH_INIT_INIT | (12) | auth-init-princ-initial | | GSS_C_MA_AUTH_TARG_INIT | (13) | auth-targ-princ-initial | | GSS_C_MA_AUTH_INIT_ANON | (14) | auth-init-princ-anon | | GSS_C_MA_AUTH_TARG_ANON | (15) | auth-targ-princ-anon | | GSS_C_MA_DELEG_CRED | (16) | deleg-cred | | GSS_C_MA_INTEG_PROT | (17) | integ-prot | | GSS_C_MA_CONF_PROT | (18) | conf-prot | | GSS_C_MA_MIC | (19) | mic | | GSS_C_MA_WRAP | (20) | wrap | | GSS_C_MA_PROT_READY | (21) | prot-ready | | GSS_C_MA_REPLAY_DET | (22) | replay-detection | | GSS_C_MA_OOS_DET | (23) | oos-detection | | GSS_C_MA_CBINDINGS | (24) | channel-bindings | | GSS_C_MA_PFS | (25) | pfs | | GSS_C_MA_COMPRESS | (26) | compress | | GSS_C_MA_CTX_TRANS | (27) | context-transfer | | <reserved> | (28...) | | +-------------------------+---------+-------------------------+
Table 1
表1
+-------------------------+-----------------------------------------+ | Mech Attr Name | Purpose | +-------------------------+-----------------------------------------+ | GSS_C_MA_MECH_CONCRETE | Indicates that a mech is neither a | | | pseudo-mechanism nor a composite | | | mechanism. | | GSS_C_MA_MECH_PSEUDO | Indicates that a mech is a | | | pseudo-mechanism. | | GSS_C_MA_MECH_COMPOSITE | Indicates that a mech is a composite of | | | other mechanisms. This is reserved for | | | a specification of "stackable" | | | pseudo-mechanisms. | | GSS_C_MA_MECH_NEGO | Indicates that a mech negotiates other | | | mechs (e.g., SPNEGO has this | | | attribute). | | GSS_C_MA_MECH_GLUE | Indicates that the OID is not for a | | | mechanism but for the GSS-API itself. | | GSS_C_MA_NOT_MECH | Indicates that the OID is known, yet it | | | is also known not to be the OID of any | | | GSS-API mechanism (or of the GSS-API | | | itself). | | GSS_C_MA_DEPRECATED | Indicates that a mech (or its OID) is | | | deprecated and MUST NOT be used as a | | | default mechanism. | | GSS_C_MA_NOT_DFLT_MECH | Indicates that a mech (or its OID) MUST | | | NOT be used as a default mechanism. | | GSS_C_MA_ITOK_FRAMED | Indicates that the given mechanism's | | | initial context tokens are properly | | | framed as per Section 3.1 of [RFC2743]. | | GSS_C_MA_AUTH_INIT | Indicates support for authentication of | | | initiator to acceptor. | | GSS_C_MA_AUTH_TARG | Indicates support for authentication of | | | acceptor to initiator. | | GSS_C_MA_AUTH_INIT_INIT | Indicates support for "initial" | | | authentication of initiator to | | | acceptor. "Initial authentication" | | | refers to the use of passwords, or keys | | | stored on tokens, for authentication. | | | Whether a mechanism supports initial | | | authentication may depend on IETF | | | consensus (see Security | | | Considerations). | | GSS_C_MA_AUTH_TARG_INIT | Indicates support for initial | | | authentication of acceptor to | | | initiator. | | GSS_C_MA_AUTH_INIT_ANON | Indicates support for | | | GSS_C_NT_ANONYMOUS as an initiator | | | principal name. |
| GSS_C_MA_AUTH_TARG_ANON | Indicates support for | | | GSS_C_NT_ANONYMOUS as a target | | | principal name. | | GSS_C_MA_DELEG_CRED | Indicates support for credential | | | delegation. | | GSS_C_MA_INTEG_PROT | Indicates support for per-message | | | integrity protection. | | GSS_C_MA_CONF_PROT | Indicates support for per-message | | | confidentiality protection. | | GSS_C_MA_MIC | Indicates support for Message Integrity | | | Code (MIC) tokens. | | GSS_C_MA_WRAP | Indicates support for WRAP tokens. | | GSS_C_MA_PROT_READY | Indicates support for per-message | | | protection prior to full context | | | establishment. | | GSS_C_MA_REPLAY_DET | Indicates support for replay detection. | | GSS_C_MA_OOS_DET | Indicates support for out-of-sequence | | | detection. | | GSS_C_MA_CBINDINGS | Indicates support for channel bindings. | | GSS_C_MA_PFS | Indicates support for Perfect Forward | | | Security. | | GSS_C_MA_COMPRESS | Indicates support for compression of | | | data inputs to GSS_Wrap(). | | GSS_C_MA_CTX_TRANS | Indicates support for security context | | | export/import. | +-------------------------+-----------------------------------------+
Table 2
表2
The Kerberos V mechanism [RFC1964] provides the following mechanism attributes:
ケルベロスVメカニズム[RFC1964]は以下のメカニズム属性を提供します。
o GSS_C_MA_MECH_CONCRETE
O GSS_C_MA_MECH_CONCRETE
o GSS_C_MA_ITOK_FRAMED
O GSS_C_MA_ITOK_FRAMED
o GSS_C_MA_AUTH_INIT
O GSS_C_MA_AUTH_INIT
o GSS_C_MA_AUTH_TARG
O GSS_C_MA_AUTH_TARG
o GSS_C_MA_DELEG_CRED
GSS_C_MA_DELEG_CRED
o GSS_C_MA_INTEG_PROT
O GSS_C_MA_INTEG_PROT
o GSS_C_MA_CONF_PROT o GSS_C_MA_MIC
GSS_C_MA_CONF_PROT GSS_C_MA_MIC
o GSS_C_MA_WRAP
O GSS_C_MA_WRAP
o GSS_C_MA_PROT_READY
O GSS_C_MA_PROT_READY
o GSS_C_MA_REPLAY_DET
O GSS_C_MA_REPLAY_DET
o GSS_C_MA_OOS_DET
O GSS_C_MA_OOS_DET
o GSS_C_MA_CBINDINGS
O GSS_C_MA_CBINDINGS
o GSS_C_MA_CTX_TRANS (some implementations, using implementation-specific exported context token formats)
GSS_C_MA_CTX_TRANS O(いくつかの実施、実装固有のエクスポートされたコンテキスト・トークン・フォーマットを使用して)
The Kerberos V mechanism also has a deprecated OID that has the same mechanism attributes as above as well as GSS_C_MA_DEPRECATED.
ケルベロスV機構も同様の機構を有している非推奨のOIDは、上記と同様GSS_C_MA_DEPRECATEDとして属性を有しています。
The mechanism attributes of the Simple Public-Key GSS-API Mechanism (SPKM) [RFC2025] family of mechanisms will be provided in a separate document, as SPKM is currently being reviewed for possibly significant changes due to problems in its specifications.
SPKMは現在、その仕様上の問題に起因する可能性が大幅に変更するために検討されているようメカニズムの単純な公開鍵GSS-APIメカニズム(SPKM)[RFC2025]家族のメカニズム属性は、別の文書で提供されます。
The Low Infrastructure Public Key (LIPKEY) mechanism [RFC2847] offers the following attributes:
低インフラストラクチャ公開鍵(LIPKEY)メカニズム[RFC2847]は、以下の属性が用意されています。
o GSS_C_MA_MECH_CONCRETE
O GSS_C_MA_MECH_CONCRETE
o GSS_C_MA_ITOK_FRAMED
O GSS_C_MA_ITOK_FRAMED
o GSS_C_MA_AUTH_INIT_INIT
O GSS_C_MA_AUTH_INIT_INIT
o GSS_C_MA_AUTH_TARG (from SPKM-3)
GSS_C_MA_AUTH_TARG O(SPKM-3から)
o GSS_C_MA_AUTH_TARG_ANON (from SPKM-3)
GSS_C_MA_AUTH_TARG_ANON O(SPKM-3から)
o GSS_C_MA_INTEG_PROT
O GSS_C_MA_INTEG_PROT
o GSS_C_MA_CONF_PROT
O GSS_C_MA_CONF_PROT
o GSS_C_MA_REPLAY_DET
O GSS_C_MA_REPLAY_DET
o GSS_C_MA_OOS_DET
O GSS_C_MA_OOS_DET
o GSS_C_MA_CTX_TRANS (some implementations, using implementation-specific exported context token formats) (LIPKEY should also provide GSS_C_MA_CBINDINGS, but SPKM-3 requires clarifications on this point.)
O GSS_C_MA_CTX_TRANS(いくつかの実施、実装固有のエクスポートされたコンテキスト・トークン・フォーマットを使用して)(LIPKEYもGSS_C_MA_CBINDINGSを提供するべきであるが、SPKM-3は、この点について明確化を必要とします。)
The SPNEGO mechanism [RFC4178] provides the following attributes:
SPNEGOメカニズム[RFC4178]は、以下の属性が用意されています。
o GSS_C_MA_MECH_NEGO
GSS_C_MA_MECH_NEGOについて
o GSS_C_MA_ITOK_FRAMED
O GSS_C_MA_ITOK_FRAMED
All other mechanisms' attributes will be described elsewhere.
他のすべてのメカニズムの属性は、他の場所で説明します。
Several new interfaces are given by which, for example, GSS-API applications may determine what features are provided by a given mechanism and what mechanisms provide what features.
いくつかの新しいインターフェイスは、例えば、GSS-APIアプリケーションが、所与のメカニズムによって提供され、どのようなメカニズムがありますものを提供しているものの特徴を決定することができる、それによって与えられます。
These new interfaces are all OPTIONAL.
これらの新しいインタフェースはすべてオプションです。
Applications should use GSS_Indicate_mechs_by_attrs() instead of GSS_Indicate_mechs() wherever possible.
可能な限りアプリケーションはGSS_Indicate_mechs_by_attrs()の代わりには、gss_indicate_mechs()を使用する必要があります。
Applications can use GSS_Indicate_mechs_by_attrs() to determine what, if any, mechanisms provide a given set of features.
アプリケーションがあれば、メカニズムが機能の特定のセットを提供し、何を決定するためにGSS_Indicate_mechs_by_attrs()を使用することができます。
GSS_Indicate_mechs_by_attrs() can also be used to indicate (as in GSS_Indicate_mechs()) the set of available mechanisms of each type (concrete, mechanism negotiation pseudo-mechanism, etc.).
GSS_Indicate_mechs_by_attrs()は、各タイプの利用可能なメカニズムの(は、gss_indicate_mechsのように())セット(コンクリート、機構ネゴシエーション擬似機構、等)を示すために使用することができます。
Mechanism attributes may be added at any time. Not only may attributes be added to the list of known mechanism attributes at any time, but the set of mechanism attributes supported by a mechanism can be changed at any time.
メカニズム属性は、いつでも追加することができます。属性は、既知のメカニズムのリストに追加することができる任意の時点で属性が、メカニズムによってサポートされるメカニズム属性のセットは、いつでも変更することができないだけで。
For example, new attributes might be added to reflect whether a mechanism's initiator must contact an online infrastructure and/or whether the acceptor must do so. In this example, the Kerberos V mechanism would gain a new attribute even though the mechanism itself is not modified.
たとえば、新しい属性は、メカニズムのイニシエータがオンラインインフラおよび/またはアクセプターがそうしなければならないかどうかを連絡しなければならないかどうかを反映するために追加されることがあります。この例では、ケルベロスVメカニズムはメカニズム自体が変更されていなくても、新しい属性を得るでしょう。
Applications making use of attributes not defined herein would then have no way of knowing whether a GSS-API implementation and its mechanisms know about new mechanism attributes. To address this problem, GSS_Indicate_mechs_by_attrs() and GSS_Inquire_attrs_for_mech() support a notion of critical mechanism attributes. Applications can search for mechanisms that understand mechanism attributes that are critical to the application, and the application may ask what mechanism attributes are understood by a given mechanism.
本明細書に定義されていない属性を利用したアプリケーションは、GSS-APIの実装とそのメカニズムは新機構の属性について知っているかどうかを知る方法はありません。この問題に対処するために、GSS_Indicate_mechs_by_attrs()とGSS_Inquire_attrs_for_mech()重要なメカニズム属性の概念をサポートしています。アプリケーションは、アプリケーションにとって重要なメカニズムの属性を理解するメカニズムを検索することができ、およびアプリケーションは、与えられたメカニズムが理解されているどのようなメカニズム属性求めることができます。
Inputs:
入力:
o desired_mech_attrs SET OF OBJECT IDENTIFIER -- set of GSS_C_MA_* OIDs that the mechanisms indicated in the mechs output parameter MUST offer.
オブジェクト識別子O desired_mech_attrs SET - メック出力パラメータで示されるメカニズムが提供しなければならないことGSS_C_MA_ * OIDのセット。
o except_mech_attrs SET OF OBJECT IDENTIFIER -- set of GSS_C_MA_* OIDs that the mechanisms indicated in the mechs output parameter MUST NOT offer.
オブジェクト識別子のO except_mech_attrsのSET - メカの出力パラメータで示されたメカニズムが提供していはいけないことにGSS_C_MA_ * OIDのセット。
o critical_mech_attrs SET OF OBJECT IDENTIFIER -- set of GSS_C_MA_* OIDs that the mechanisms indicated in the mechs output parameter MUST understand (i.e., mechs must know whether critical attributes are or are not supported).
O OBJECT識別子critical_mech_attrs SET - メカニズムはメックに示されていることGSS_C_MA_ * OIDのセット出力パラメータ(すなわち、メックは重要な属性であるか、サポートされていないかどうかを知らなければならない)理解しなければなりません。
Outputs:
出力:
o major_status INTEGER
O major_status INTEGER
o minor_status INTEGER
minor_status INTEGER O
o mechs SET OF OBJECT IDENTIFIER -- set of mechanisms that support the given desired_mech_attrs but not the except_mech_attrs, and all of which understand the given critical_mech_attrs (the caller must release this output with GSS_Release_oid_set()).
オブジェクト識別子のセットOのメック - 機構の設定された所定desired_mech_attrsなくexcept_mech_attrs、及び全てのを支援所与critical_mech_attrsを理解する(発信者がGSS_Release_oid_setこの出力を解放する必要があります())。
Return major_status codes:
major_status戻りコード:
o GSS_S_COMPLETE indicates success; the output mechs parameter MAY be the empty set (GSS_C_NO_OID_SET).
O GSS_S_COMPLETEは成功を示します。出力メカパラメータが空のセット(GSS_C_NO_OID_SET)であってもよいです。
o GSS_S_FAILURE indicates that the request failed for some other reason.
O GSS_S_FAILUREは、要求が他の何らかの理由で失敗したことを示しています。
GSS_Indicate_mechs_by_attrs() returns the set of OIDs corresponding to mechanisms that offer at least the desired_mech_attrs but none of the except_mech_attrs, and that understand all of the attributes listed in critical_mech_attrs.
GSS_Indicate_mechs_by_attrs()少なくともdesired_mech_attrsしかしexcept_mech_attrsのどれを提供する機構に対応するOIDの集合を返し、それがcritical_mech_attrsに記載されているすべての属性を理解します。
When all three sets of OID input parameters are the empty set, this function acts as a version of GSS_indicate_mechs() that outputs the set of all supported mechanisms.
OID入力パラメータのすべての3つのセットが空集合である場合、この機能はサポートされているすべての機構の組を出力する)は、gss_indicate_mechs(バージョンとして作用します。
Inputs:
入力:
o mech OBJECT IDENTIFIER -- mechanism OID
Oメカオブジェクト識別子 - メカニズムOID
Outputs:
出力:
o major_status INTEGER
O major_status INTEGER
o minor_status INTEGER
minor_status INTEGER O
o mech_attrs SET OF OBJECT IDENTIFIER -- set of mech_attrs OIDs (GSS_C_MA_*) supported by the mechanism (the caller must release this output with GSS_Release_oid_set()).
オブジェクト識別子のセットO mech_attrs - mech_attrs OIDのセットが(GSS_C_MA_ *)メカニズムでサポートされている(呼び出し側がGSS_Release_oid_setと、この出力を解放する必要があります())。
o known_mech_attrs SET OF OBJECT IDENTIFIER -- set of mech_attrs OIDs known to the mechanism implementation (the caller must release this output with GSS_Release_oid_set()).
機構実装に既知mech_attrs OIDのセット(発信者)が(GSS_Release_oid_setと、この出力を解放しなければならない) - Oオブジェクト識別子のセットをknown_mech_attrs。
Return major_status codes:
major_status戻りコード:
o GSS_S_COMPLETE indicates success; the output mech_attrs parameter MAY be the empty set (GSS_C_NO_OID_SET).
O GSS_S_COMPLETEは成功を示します。出力mech_attrsパラメータが空のセット(GSS_C_NO_OID_SET)であってもよいです。
o GSS_S_BAD_MECH indicates that the mechanism named by the mech parameter does not exist or that the mech is GSS_C_NO_OID and no default mechanism could be determined.
O GSS_S_BAD_MECHはメカパラメータで指定されたメカニズムが存在しないことを示しているか、メカはGSS_C_NO_OIDで、デフォルトのメカニズムが決定できなかったこと。
o GSS_S_FAILURE indicates that the request failed for some other reason.
O GSS_S_FAILUREは、要求が他の何らかの理由で失敗したことを示しています。
GSS_Inquire_attrs_for_mech() indicates the set of mechanism attributes supported by a given mechanism.
GSS_Inquire_attrs_for_mech()は、指定されたメカニズムによってサポート機構属性の集合を示します。
Inputs:
入力:
o mech_attr OBJECT IDENTIFIER -- mechanism attribute OID
O mech_attrオブジェクト識別子 - メカニズムは、OID属性
Outputs:
出力:
o major_status INTEGER
O major_status INTEGER
o minor_status INTEGER o name OCTET STRING, -- name of mechanism attribute (e.g., GSS_C_MA_*).
名前オクテットSTRING O O minor_statusのINTEGER、 - 機構属性の名前(例えば、GSS_C_MA_ *)。
o short_desc OCTET STRING, -- a short description of the mechanism attribute (the caller must release this output with GSS_Release_buffer()).
O SHORT_DESCオクテットSTRING、 - 機構属性の簡単な説明(発信者)が(GSS_Release_bufferと、この出力を解放しなければなりません)。
o long_desc OCTET STRING -- a longer description of the mechanism attribute (the caller must release this output with GSS_Release_buffer()).
O long_descオクテットSTRING - メカニズム属性の長い説明が(呼び出し側がGSS_Release_bufferと、この出力を解放する必要があります())。
Return major_status codes:
major_status戻りコード:
o GSS_S_COMPLETE indicates success.
O GSS_S_COMPLETEは成功を示します。
o GSS_S_BAD_MECH_ATTR indicates that the mechanism attribute referenced by the mech_attr parameter is unknown to the implementation.
O GSS_S_BAD_MECH_ATTRはmech_attrパラメータで参照されるメカニズム属性が実装に不明であることを示しています。
o GSS_S_FAILURE indicates that the request failed for some other reason.
O GSS_S_FAILUREは、要求が他の何らかの理由で失敗したことを示しています。
This function can be used to obtain human-readable descriptions of GSS-API mechanism attributes.
この関数はGSS-APIメカニズム属性の人間が読める記述を取得するために使用することができます。
A single, new, major status code is added for GSS_Display_mech_attr():
単一、新たに、主要なステータスコード)(GSS_Display_mech_attrのために追加されます。
o GSS_S_BAD_MECH_ATTR,
GSS_S_BAD_MECH_ATTR O、
roughly corresponding to GSS_S_BAD_MECH but applicable to mechanism attribute OIDs rather than to mechanism OIDs.
大体GSS_S_BAD_MECHに対応するが、メカニズムへの適用ではなく、メカニズムのOIDよりもOIDを属性。
For the C-bindings of the GSS-API [RFC2744], GSS_S_BAD_MECH_ATTR shall have a routine error number of 19 (this is shifted to the left by GSS_C_ROUTINE_ERROR_OFFSET).
GSS-API [RFC2744]のC-バインディングのために、GSS_S_BAD_MECH_ATTR(これはGSS_C_ROUTINE_ERROR_OFFSETだけ左にシフトする)19のルーチンは、エラー番号を持たなければなりません。
Note that there is a bug in the C bindings of the GSS-APIv2u1 [RFC2744] in that the C 'const' attribute is applied to types that are pointer typedefs. This is a bug because it declares that the pointer argument is 'const' rather than that the object pointed by it is const. To avoid this error, we hereby define new typedefs, which include const properly:
ポインタのtypedefであるタイプに適用されるC「CONST」属性でGSS-APIv2u1 [RFC2744]のCバインディングのバグがあることに留意されたいです。それはポインタ引数は「CONST」のではなく、それが指すオブジェクトはconstのあることであることを宣言しますので、これはバグです。このエラーを回避するために、我々はここに適切にCONSTを含める新しいのtypedefを定義します。
typedef const gss_buffer_desc * gss_const_buffer_t; typedef const struct gss_channel_bindings_struct * gss_const_channel_bindings_t; typedef const <platform-specific> gss_const_ctx_id_t; typedef const <platform-specific> gss_const_cred_id_t; typedef const <platform-specific> gss_const_name_t; typedef const gss_OID_desc * gss_const_OID; typedef const gss_OID_set_desc * gss_const_OID_set;
Figure 1: const typedefs
図1:のconstのtypedef
Note that only gss_const_OID and gss_const_OID_set are used below. We include the other const typedefs for convenience since the C bindings of the GSS-API do use const with pointer typedefs when it should often instead use the above typedefs instead.
gss_const_OIDとgss_const_OID_setのみが以下で使用されていることに注意してください。 GSS-APIのCバインディングが、それは多くの場合、代わりに、代わりに上記のtypedefを使用する必要があるときポインタのtypedefでのconstを使用しませんので、私たちは、利便性のために他のconstのtypedefが含まれます。
#define GSS_S_BAD_MECH_ATTR (19ul << GSS_C_ROUTINE_ERROR_OFFSET)
#define GSS_S_BAD_MECH_ATTR(19ul << GSS_C_ROUTINE_ERROR_OFFSET)
OM_uint32 gss_indicate_mechs_by_attrs( OM_uint32 *minor_status, gss_const_OID_set desired_mech_attrs, gss_const_OID_set except_mech_attrs, gss_const_OID_set critical_mech_attrs, gss_OID_set *mechs);
OM_uint32と同じgss_indicate_mechs_by_attrs(OM_uint32と同じ* minor_status、gss_const_OID_set desired_mech_attrs、gss_const_OID_set except_mech_attrs、gss_const_OID_set critical_mech_attrs、たgss_OID_set *メック)。
OM_uint32 gss_inquire_attrs_for_mech( OM_uint32 *minor_status, gss_const_OID mech, gss_OID_set *mech_attrs, gss_OID_set *known_mech_attrs);
OM_uint32と同じgss_inquire_attrs_for_mech(OM_uint32と同じ* minor_status、gss_const_OIDのメック、たgss_OID_set * mech_attrs、たgss_OID_set *のknown_mech_attrs)。
OM_uint32 gss_display_mech_attr( OM_uint32 *minor_status, gss_const_OID mech_attr, gss_buffer_t name, gss_buffer_t short_desc, gss_buffer_t long_desc);
OM_uint32と同じgss_display_mech_attr(OM_uint32と同じ* minor_status、gss_const_OIDのmech_attr、gss_buffer_t名、gss_buffer_t SHORT_DESC、gss_buffer_t long_desc)。
Figure 2: C bindings
図2:Cバインディング
Note that output buffers must be released via gss_release_buffer(). Output OID sets must be released via gss_release_oid_set().
出力バッファはgss_release_bufferを介して放出されなければならないことに注意してください()。出力OIDセット)が(gss_release_oid_setを介して放出されなければなりません。
Please see Appendix A for a full set of typedef fragments defined in this document and the necessary code license.
このドキュメントおよび必要なコードのライセンスに定義されたtypedefの断片のフルセットについては、付録Aを参照してください。
All future GSS-API mechanism specifications MUST:
すべての将来のGSS-APIメカニズムの仕様必要があります。
o list the set of GSS-API mechanism attributes associated with them.
Oそれらに関連付けられているGSS-API機構属性のセットをリストします。
The namespace of programming-language symbols with names beginning with GSS_C_MA_* is reserved for allocation by IETF Consensus. IANA allocated a base OID, as an arc of 1.3.6.1.5.5, for the set of GSS_C_MA_* described herein, and registered all of the GSS_C_MA_* values described in Section 3.2.
GSS_C_MA_ *で始まる名前を持つプログラミング言語のシンボルの名前空間はIETFコンセンサスによって割り当て用に予約されています。 IANAはGSS_C_MA_ *本明細書に記載のセットに対して、1.3.6.1.5.5の円弧として、ベースOIDを割り当て、及びセクション3.2で説明GSS_C_MA_ *値の全てを記録しました。
This document specifies extensions to a security-related API. It imposes new requirements on future GSS-API mechanisms, and the specifications of future protocols that use the GSS-API should make reference to this document where applicable. The ability to inquire about specific properties of mechanisms should improve security.
この文書では、セキュリティ関連のAPIへの拡張を指定します。これは、将来のGSS-APIメカニズムに関する新たな要件を課して、GSS-APIを使用して、将来のプロトコルの仕様は、適用この文書への参照を行う必要があります。メカニズムの特定のプロパティを問い合わせる能力は、セキュリティを向上させる必要があります。
The semantics of each mechanism attribute may include a security component.
各機構の属性の意味は、セキュリティコンポーネントを含むことができます。
Application developers must understand that mechanism attributes may be added at any time -- both to the set of known mechanism attributes as well as to existing mechanisms' sets of supported mechanism attributes. Therefore, application developers using the APIs described herein must understand what mechanism attributes their applications depend critically on, and must use the mechanism attribute criticality features of these APIs.
公知の機構の組の両方が同様にサポート機構属性の既存のメカニズムセットに属性 - アプリケーション開発者は、その機構が任意の時点で添加することができる属性を理解しなければなりません。したがって、本明細書に記載されたAPIを使用するアプリケーションの開発者は、アプリケーションが非常に依存する属性、およびこれらのAPIの重要機能を属性メカニズムを使用する必要がありますどのようなメカニズムを理解する必要があります。
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2119]ブラドナーの、S.、 "要件レベルを示すためにRFCsにおける使用のためのキーワード"、BCP 14、RFC 2119、1997年3月。
[RFC2743] Linn, J., "Generic Security Service Application Program Interface Version 2, Update 1", RFC 2743, January 2000.
[RFC2743]リン、J.、 "ジェネリックセキュリティーサービス適用業務プログラムインタフェースバージョン2、アップデート1"、RFC 2743、2000年1月。
[RFC2744] Wray, J., "Generic Security Service API Version 2 : C-bindings", RFC 2744, January 2000.
[RFC2744]レイ、J.、 "ジェネリックセキュリティサービスAPIバージョン2:C-バインディング"、RFC 2744、2000年1月。
[RFC1964] Linn, J., "The Kerberos Version 5 GSS-API Mechanism", RFC 1964, June 1996.
[RFC1964]リン、J.、 "Kerberosバージョン5 GSS-APIメカニズム"、RFC 1964、1996年6月。
[RFC2025] Adams, C., "The Simple Public-Key GSS-API Mechanism (SPKM)", RFC 2025, October 1996.
[RFC2025]アダムス、C.、 "単純な公開鍵GSS-APIメカニズム(SPKM)"、RFC 2025、1996年10月。
[RFC2847] Eisler, M., "LIPKEY - A Low Infrastructure Public Key Mechanism Using SPKM", RFC 2847, June 2000.
[RFC2847]アイスラー、M.、 "LIPKEY - SPKMを用いた低インフラストラクチャ公開鍵メカニズム"、RFC 2847、2000年6月。
[RFC4178] Zhu, L., Leach, P., Jaganathan, K., and W. Ingersoll, "The Simple and Protected Generic Security Service Application Program Interface (GSS-API) Negotiation Mechanism", RFC 4178, October 2005.
[RFC4178]朱、L.、リーチ、P.、Jaganathan、K.、およびW.インガーソル、 "単純で保護された一般的なセキュリティサービスアプリケーションプログラムインタフェース(GSS-API)交渉メカニズム"、RFC 4178、2005年10月。
[RFC4251] Ylonen, T. and C. Lonvick, "The Secure Shell (SSH) Protocol Architecture", RFC 4251, January 2006.
[RFC4251] Ylonenと、T.とC. Lonvick、 "セキュアシェル(SSH)プロトコルアーキテクチャ"、RFC 4251、2006年1月。
[RFC4462] Hutzelman, J., Salowey, J., Galbraith, J., and V. Welch, "Generic Security Service Application Program Interface (GSS-API) Authentication and Key Exchange for the Secure Shell (SSH) Protocol", RFC 4462, May 2006.
[RFC4462] Hutzelman、J.、Salowey、J.、ガルブレイス、J.、およびV.ウェルチ、 "ジェネリックセキュリティーサービス適用業務プログラムインタフェース(GSS-API)の認証とセキュアシェル(SSH)プロトコルのための鍵交換"、RFC 4462、2006年5月。
Appendix A. Typedefs and C Bindings
付録A.のtypedefとCバインディング
This appendix contains the full set of code fragments defined in this document.
この付録では、本書で定義されたコードフラグメントのフルセットが含まれています。
Copyright (c) 2009 IETF Trust and the persons identified as authors of the code. All rights reserved.
著作権(C)2009 IETF信託コードの作者として特定の人物。全著作権所有。
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
再配布および、改変してまたは改変せずに、ソースおよびバイナリ形式で使用し、以下の条件が満たされていることを許可されます。
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
- ソースコードの再配布は、上記の著作権表示、条件のリストおよび以下の免責事項を保持しなければなりません。
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
- バイナリ形式で再配布は、上記の著作権表示、条件のリストおよび文書および/または分布を備えた他の材料で次の免責事項を再現しなければなりません。
- Neither the name of Internet Society, IETF or IETF Trust, nor the names of specific contributors, may be used to endorse or promote products derived from this software without specific prior written permission.
- インターネット協会、IETFやIETFトラストの名称、また具体的な貢献者の名前はどちらも、特定の書面による事前の許可なしに、本ソフトウェアから派生した製品を推薦または促進するために使用することができます。
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
このソフトウェアは、著作権保持者と貢献者に制限された状態で提供し、特定目的に対する適合性の黙示の保証も行われません。 NO EVENTの著作権所有者または貢献者は、以下を含むいかなる直接的、間接的、偶発的、特別、懲罰的、または間接的損害(についても責任を負いあってもよいが、代替商品またはサービスの調達、これらに限定されないものとし、使用、データ、または利益の損失; OR事業の中断)原因で生じた(そのような損害の可能性について知らされていた場合でも、一切このソフトウェアの使用の損失、データの損失)過失またはその他を含む責任、それが契約、厳格な責任、不法行為のどのような理論の上で。
typedef const gss_buffer_desc * gss_const_buffer_t; typedef const struct gss_channel_bindings_struct * gss_const_channel_bindings_t; typedef const <platform-specific> gss_const_ctx_id_t; typedef const <platform-specific> gss_const_cred_id_t; typedef const <platform-specific> gss_const_name_t; typedef const gss_OID_desc * gss_const_OID; typedef const gss_OID_set_desc * gss_const_OID_set;
#define GSS_S_BAD_MECH_ATTR (19ul << GSS_C_ROUTINE_ERROR_OFFSET)
#define GSS_S_BAD_MECH_ATTR(19ul << GSS_C_ROUTINE_ERROR_OFFSET)
OM_uint32 gss_indicate_mechs_by_attrs( OM_uint32 *minor_status, gss_const_OID_set desired_mech_attrs, gss_const_OID_set except_mech_attrs, gss_const_OID_set critical_mech_attrs, gss_OID_set *mechs);
OM_uint32と同じgss_indicate_mechs_by_attrs(OM_uint32と同じ* minor_status、gss_const_OID_set desired_mech_attrs、gss_const_OID_set except_mech_attrs、gss_const_OID_set critical_mech_attrs、たgss_OID_set *メック)。
OM_uint32 gss_inquire_attrs_for_mech( OM_uint32 *minor_status, gss_const_OID mech, gss_OID_set *mech_attrs, gss_OID_set *known_mech_attrs);
OM_uint32と同じgss_inquire_attrs_for_mech(OM_uint32と同じ* minor_status、gss_const_OIDのメック、たgss_OID_set * mech_attrs、たgss_OID_set *のknown_mech_attrs)。
OM_uint32 gss_display_mech_attr( OM_uint32 *minor_status, gss_const_OID mech_attr, gss_buffer_t name, gss_buffer_t short_desc, gss_buffer_t long_desc);
OM_uint32と同じgss_display_mech_attr(OM_uint32と同じ* minor_status、gss_const_OIDのmech_attr、gss_buffer_t名、gss_buffer_t SHORT_DESC、gss_buffer_t long_desc)。
Author's Address
著者のアドレス
Nicolas Williams Sun Microsystems 5300 Riata Trace Ct Austin, TX 78727 US
ニコラス・ウィリアムズSun Microsystemsの5300 RiataトレースのCtオースティン、TX 78727米国
EMail: Nicolas.Williams@sun.com
メールアドレス:Nicolas.Williams@sun.com