⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rfc2743.txt

📁 <VC++网络游戏建摸与实现>源代码
💻 TXT
📖 第 1 页 / 共 5 页
字号:
Linn                        Standards Track                    [Page 15]RFC 2743                        GSS-API                     January 2000                        GSS-API library defaults                               |                               |                               V                         text, for   text -------------->  internal_name (IN) -----------> display only         import_name()          /          display_name()                               /                              /                             /    accept_sec_context()    /          |                /          |               /          |              /  canonicalize_name()          |             /          |            /          |           /          |          /          |         /          |        |          V        V     <---------------------    single mechanism        import_name()         exported name: flat    internal_name (MN)                            binary "blob" usable                         ---------------------->  for access control                            export_name()1.1.6:  Channel Bindings   The GSS-API accommodates the concept of caller-provided channel   binding ("chan_binding") information.  Channel bindings are used to   strengthen the quality with which peer entity authentication is   provided during context establishment, by limiting the scope within   which an intercepted context establishment token can be reused by an   attacker. Specifically, they enable GSS-API callers to bind the   establishment of a security context to relevant characteristics   (e.g., addresses, transformed representations of encryption keys) of   the underlying communications channel, of protection mechanisms   applied to that communications channel, and to application-specific   data.   The caller initiating a security context must determine the   appropriate channel binding values to provide as input to the   GSS_Init_sec_context() call, and consistent values must be provided   to GSS_Accept_sec_context() by the context's target, in order for   both peers' GSS-API mechanisms to validate that received tokens   possess correct channel-related characteristics. Use or non-use of   the GSS-API channel binding facility is a caller option.  GSS-API   mechanisms can operate in an environment where NULL channel bindings   are presented; mechanism implementors are encouraged, but notLinn                        Standards Track                    [Page 16]RFC 2743                        GSS-API                     January 2000   required, to make use of caller-provided channel binding data within   their mechanisms. Callers should not assume that underlying   mechanisms provide confidentiality protection for channel binding   information.   When non-NULL channel bindings are provided by callers, certain   mechanisms can offer enhanced security value by interpreting the   bindings' content (rather than simply representing those bindings, or   integrity check values computed on them, within tokens) and will   therefore depend on presentation of specific data in a defined   format. To this end, agreements among mechanism implementors are   defining conventional interpretations for the contents of channel   binding arguments, including address specifiers (with content   dependent on communications protocol environment) for context   initiators and acceptors. (These conventions are being incorporated   in GSS-API mechanism specifications and into the GSS-API C language   bindings specification.) In order for GSS-API callers to be portable   across multiple mechanisms and achieve the full security   functionality which each mechanism can provide, it is strongly   recommended that GSS-API callers provide channel bindings consistent   with these conventions and those of the networking environment in   which they operate.1.2:  GSS-API Features and Issues   This section describes aspects of GSS-API operations, of the security   services which the GSS-API provides, and provides commentary on   design issues.1.2.1:  Status Reporting and Optional Service Support1.2.1.1: Status Reporting   Each GSS-API call provides two status return values. Major_status   values provide a mechanism-independent indication of call status   (e.g., GSS_S_COMPLETE, GSS_S_FAILURE, GSS_S_CONTINUE_NEEDED),   sufficient to drive normal control flow within the caller in a   generic fashion. Table 1 summarizes the defined major_status return   codes in tabular fashion.   Sequencing-related informatory major_status codes   (GSS_S_DUPLICATE_TOKEN, GSS_S_OLD_TOKEN, GSS_S_UNSEQ_TOKEN, and   GSS_S_GAP_TOKEN) can be indicated in conjunction with either   GSS_S_COMPLETE or GSS_S_FAILURE status for GSS-API per-message calls.   For context establishment calls, these sequencing-related codes will   be indicated only in conjunction with GSS_S_FAILURE status (never inLinn                        Standards Track                    [Page 17]RFC 2743                        GSS-API                     January 2000   conjunction with GSS_S_COMPLETE or GSS_S_CONTINUE_NEEDED), and,   therefore, always correspond to fatal failures if encountered during   the context establishment phase.   Table 1: GSS-API Major Status Codes   FATAL ERROR CODES   GSS_S_BAD_BINDINGS            channel binding mismatch   GSS_S_BAD_MECH                unsupported mechanism requested   GSS_S_BAD_NAME                invalid name provided   GSS_S_BAD_NAMETYPE            name of unsupported type provided   GSS_S_BAD_STATUS              invalid input status selector   GSS_S_BAD_SIG                 token had invalid integrity check   GSS_S_BAD_MIC                   preferred alias for GSS_S_BAD_SIG   GSS_S_CONTEXT_EXPIRED         specified security context expired   GSS_S_CREDENTIALS_EXPIRED     expired credentials detected   GSS_S_DEFECTIVE_CREDENTIAL    defective credential detected   GSS_S_DEFECTIVE_TOKEN         defective token detected   GSS_S_FAILURE                 failure, unspecified at GSS-API                                   level   GSS_S_NO_CONTEXT              no valid security context specified   GSS_S_NO_CRED                 no valid credentials provided   GSS_S_BAD_QOP                 unsupported QOP value   GSS_S_UNAUTHORIZED            operation unauthorized   GSS_S_UNAVAILABLE             operation unavailable   GSS_S_DUPLICATE_ELEMENT       duplicate credential element requested   GSS_S_NAME_NOT_MN             name contains multi-mechanism elements   INFORMATORY STATUS CODES   GSS_S_COMPLETE                normal completion   GSS_S_CONTINUE_NEEDED         continuation call to routine                                  required   GSS_S_DUPLICATE_TOKEN         duplicate per-message token                                  detected   GSS_S_OLD_TOKEN               timed-out per-message token                                  detected   GSS_S_UNSEQ_TOKEN             reordered (early) per-message token                                  detected   GSS_S_GAP_TOKEN               skipped predecessor token(s)                                  detected   Minor_status provides more detailed status information which may   include status codes specific to the underlying security mechanism.   Minor_status values are not specified in this document.Linn                        Standards Track                    [Page 18]RFC 2743                        GSS-API                     January 2000   GSS_S_CONTINUE_NEEDED major_status returns, and optional message   outputs, are provided in GSS_Init_sec_context() and   GSS_Accept_sec_context() calls so that different mechanisms'   employment of different numbers of messages within their   authentication sequences need not be reflected in separate code paths   within calling applications. Instead, such cases are accommodated   with sequences of continuation calls to GSS_Init_sec_context()  and   GSS_Accept_sec_context().  The same facility is used to encapsulate   mutual authentication within the GSS-API's context initiation calls.   For mech_types which require interactions with third-party servers in   order to establish a security context, GSS-API context establishment   calls may block pending completion of such third-party interactions.   On the other hand, no GSS-API calls pend on serialized interactions   with GSS-API peer entities.  As a result, local GSS-API status   returns cannot reflect unpredictable or asynchronous exceptions   occurring at remote peers, and reflection of such status information   is a caller responsibility outside the GSS-API.1.2.1.2: Optional Service Support   A context initiator may request various optional services at context   establishment time. Each of these services is requested by setting a   flag in the req_flags input parameter to GSS_Init_sec_context().   The optional services currently defined are:      - Delegation - The (usually temporary) transfer of rights from      initiator to acceptor, enabling the acceptor to authenticate      itself as an agent of the initiator.      - Mutual Authentication - In addition to the initiator      authenticating its identity to the context acceptor, the context      acceptor should also authenticate itself to the initiator.      - Replay detection - In addition to providing message integrity      services, GSS_GetMIC() and GSS_Wrap() should include message      numbering information to enable GSS_VerifyMIC() and GSS_Unwrap()      to detect if a message has been duplicated.      - Out-of-sequence detection - In addition to providing message      integrity services, GSS_GetMIC() and GSS_Wrap() should include      message sequencing information to enable GSS_VerifyMIC() and      GSS_Unwrap() to detect if a message has been received out of      sequence.Linn                        Standards Track                    [Page 19]RFC 2743                        GSS-API                     January 2000      - Anonymous authentication - The establishment of the security      context should not reveal the initiator's identity to the context      acceptor.      - Available per-message confidentiality - requests that per-      message confidentiality services be available on the context.      - Available per-message integrity - requests that per-message      integrity services be available on the context.   Any currently undefined bits within such flag arguments should be   ignored by GSS-API implementations when presented by an application,   and should be set to zero when returned to the application by the   GSS-API implementation.   Some mechanisms may not support all optional services, and some   mechanisms may only support some services in conjunction with others.   Both GSS_Init_sec_context() and GSS_Accept_sec_context() inform the   applications which services will be available from the context when   the establishment phase is complete, via the ret_flags output   parameter.  In general, if the security mechanism is capable of   providing a requested service, it should do so, even if additional   services must be enabled in order to provide the requested service.   If the mechanism is incapable of providing a requested service, it   should proceed without the service, leaving the application to abort   the context establishment process if it considers the requested   service to be mandatory.   Some mechanisms may specify that support for some services is   optional, and that implementors of the mechanism need not provide it.   This is most commonly true of the confidentiality service, often   because of legal restrictions on the use of data-encryption, but may   apply to any of the services.  Such mechanisms are required to send   at least one token from acceptor to initiator during context

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -