Structure of the GSS Negotiation Loop
draft-ietf-kitten-gss-loop-03

The information below is for an old version of the document
Document Type Active Internet-Draft (kitten WG)
Last updated 2014-12-31
Stream IETF
Intended RFC status Informational
Formats plain text pdf html bibtex
Additional URLs
- Mailing list discussion
Stream WG state WG Consensus: Waiting for Write-Up
Document shepherd Matthew Miller
Shepherd write-up Show (last changed 2014-12-24)
IESG IESG state I-D Exists
Consensus Boilerplate Unknown
Telechat date
Responsible AD (None)
Send notices to "Matthew Miller" <mamille2@cisco.com>
Network Working Group                                           B. Kaduk
Internet-Draft                                                       MIT
Intended status: Informational                         December 31, 2014
Expires: July 4, 2015

                 Structure of the GSS Negotiation Loop
                     draft-ietf-kitten-gss-loop-03

Abstract

   This document specifies the generic structure of the negotiation loop
   to establish a 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 Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on July 4, 2015.

Copyright Notice

   Copyright (c) 2014 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                     Expires July 4, 2015                  [Page 1]
Internet-Draft    Structure of the GSS Negotiation Loop    December 2014

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Application Protocol Requirements . . . . . . . . . . . . . .   3
   3.  Loop Structure  . . . . . . . . . . . . . . . . . . . . . . .   4
     3.1.  Anonymous Initiators  . . . . . . . . . . . . . . . . . .   4
     3.2.  GSS_Init_sec_context  . . . . . . . . . . . . . . . . . .   5
     3.3.  Sending from Initiator to Acceptor  . . . . . . . . . . .   5
     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  . . . . . . . . . . . . . . .   8
     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 . . . . . . . . . . . . . . . .  10
   5.  Sample Code . . . . . . . . . . . . . . . . . . . . . . . . .  11
     5.1.  GSS Application Sample Code . . . . . . . . . . . . . . .  12
   6.  Security Considerations . . . . . . . . . . . . . . . . . . .  18
   7.  References  . . . . . . . . . . . . . . . . . . . . . . . . .  19
     7.1.  Normative References  . . . . . . . . . . . . . . . . . .  19
     7.2.  Informational References  . . . . . . . . . . . . . . . .  19
   Appendix A.  Acknowledgements . . . . . . . . . . . . . . . . . .  20
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . .  20

1.  Introduction

   The Generic Security Service Application Program Interface version 2
   [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 pseudo-random 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 which must be exchanged between
   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