Structure of the Generic Security Service (GSS) Negotiation Loop
RFC 7546
|
Document |
Type |
|
RFC - Informational
(May 2015; No errata)
|
|
Author |
|
Benjamin Kaduk
|
|
Last updated |
|
2015-10-14
|
|
Stream |
|
IETF
|
|
Formats |
|
plain text
html
pdf
htmlized
bibtex
|
|
Reviews |
|
|
Stream |
WG state
|
|
Submitted to IESG for Publication
|
|
Document shepherd |
|
Matthew Miller
|
|
Shepherd write-up |
|
Show
(last changed 2015-01-06)
|
IESG |
IESG state |
|
RFC 7546 (Informational)
|
|
Consensus Boilerplate |
|
Yes
|
|
Telechat date |
|
|
|
Responsible AD |
|
Stephen Farrell
|
|
Send notices to |
|
(None)
|
IANA |
IANA review state |
|
Version Changed - Review Needed
|
|
IANA action state |
|
No IANA Actions
|
Internet Engineering Task Force (IETF) B. Kaduk
Request for Comments: 7546 MIT
Category: Informational May 2015
ISSN: 2070-1721
Structure of the Generic Security Service (GSS) Negotiation Loop
Abstract
This document specifies the generic structure of the negotiation loop
to establish a Generic Security Service (GSS) security context
between initiator and acceptor. The control flow of the loop is
indicated for both parties, including error conditions, and
indications are given for where application-specific behavior must be
specified.
Status of This Memo
This document is not an Internet Standards Track specification; it is
published for informational purposes.
This document is a product of the Internet Engineering Task Force
(IETF). It represents the consensus of the IETF community. It has
received public review and has been approved for publication by the
Internet Engineering Steering Group (IESG). Not all documents
approved by the IESG are a candidate for any level of Internet
Standard; see Section 2 of RFC 5741.
Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
http://www.rfc-editor.org/info/rfc7546.
Copyright Notice
Copyright (c) 2015 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Kaduk Informational [Page 1]
RFC 7546 Structure of the GSS Negotiation Loop May 2015
Table of Contents
1. Introduction ....................................................2
2. Application Protocol Requirements ...............................3
3. Loop Structure ..................................................4
3.1. Anonymous Initiators .......................................5
3.2. GSS_Init_sec_context .......................................5
3.3. Sending from Initiator to Acceptor .........................6
3.4. Acceptor Sanity Checking ...................................6
3.5. GSS_Accept_sec_context .....................................7
3.6. Sending from Acceptor to Initiator .........................8
3.7. Initiator Input Validation .................................9
3.8. Continue the Loop ..........................................9
4. After Security Context Negotiation ..............................9
4.1. Authorization Checks ......................................10
4.2. Using Partially Complete Security Contexts ................10
4.3. Additional Context Tokens .................................11
5. Sample Code ....................................................12
5.1. GSS Application Sample Code ...............................13
6. Security Considerations ........................................19
7. References .....................................................20
7.1. Normative References ......................................20
7.2. Informative References ....................................20
Acknowledgements ..................................................21
Author's Address ..................................................21
1. Introduction
"Generic Security Service Application Program Interface Version 2,
Update 1" [RFC2743] provides a generic interface for security
services in the form of an abstraction layer over the underlying
security mechanisms that an application may use. A GSS initiator and
acceptor exchange messages, called "tokens", until a security context
is established. Such a security context allows for each party to
authenticate the other, the passing of confidential and/or integrity-
protected messages between the initiator and acceptor, the generation
of identical pseudorandom bit strings by both participants [RFC4401],
and more.
During context establishment, security context tokens are exchanged
synchronously, one at a time; the initiator sends the first context
token. The number of tokens that must be exchanged between the
initiator and acceptor in order to establish the security context is
dependent on the underlying mechanism as well as the desired
properties of the security context and is, in general, not known to
Show full document text