home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / ietf / cat / cat-minutes-94dec.txt < prev    next >
Text File  |  1995-02-28  |  22KB  |  433 lines

  1.  
  2. CURRENT_MEETING_REPORT_
  3.  
  4. Reported by John Linn/OpenVision
  5.  
  6. Minutes of the Common Authentication Technology Working Group (CAT)
  7.  
  8.  
  9. Summary
  10.  
  11. The Common Authentication Technology Working Group (CAT) met for two
  12. sessions at the San Jose IETF. The group progressed through a busy
  13. agenda, including the following areas:  Kerberos One-Time Passwords
  14. Internet-Draft and issues; updated Simple Public-Key Mechanisms
  15. Internet-Draft and issues; Internet-Draft update to RFC 1508 and issues;
  16. status of Windows GSS-API bindings; Independent Object Protection (IOP)
  17. Internet-Draft for extensions to GSS-API and issues; issues affecting
  18. the update to the FTP security Internet-Draft for its advancement to
  19. Proposed Standard; discussion concerning multiple overlay proposals for
  20. interfaces to layer atop GSS-API. Revised Internet-Drafts are expected
  21. for many of these documents in advance of the Danvers IETF; in
  22. particular, a revised FTP security Internet-Draft will be targeted for
  23. submission to become a Proposed Standard; depending on implementation
  24. results, a version of the SPKM Internet-Draft may also be submitted for
  25. advancement.
  26.  
  27.  
  28. Kerberos V5 One-time Passwords
  29.  
  30. Following agenda discussion, Glen Zorn (CyberSAFE) presented discussion
  31. about the Kerberos V5 one-time passwords Internet-Draft
  32. (draft-ietf-cat-kerberos-passwords-00.txt) which he had co-authored with
  33. Cliff Neuman (ISI). The proposal's goal is to support a range of
  34. one-time password schemes through use of the Kerberos V5
  35. preauthentication data (padata) field.  The draft considers two cases of
  36. one-time password integration, one of which is more secure and easier to
  37. support, but is unable to accommodate as broad a range of one-time
  38. password technologies.  In the less secure, more complex, but more
  39. general case, the server is assumed to know passcode values in advance;
  40. for the higher security case, the server is not assumed to know passcode
  41. values in advance.
  42.  
  43. Ted Ts'o (MIT) observed that the weaker form presumes that peers know
  44. the salting value a priori and can perform computations with it; as an
  45. alternative, he suggested that the salt value be provided dynamically in
  46. a krb_error message.  Charlie Kaufman (Iris) noted that Security
  47. Dynamics had indicated potential willingness to opening up the structure
  48. of their interfaces in order to support operation in the stronger mode.
  49. The group agreed that both classes should be supported.  It was also
  50. believed that more than the 5 passcode type values currently defined in
  51. the draft are needed.  In detailed discussion, Bill Sommerfeld
  52. (Hewlett-Packard) commented that a redirect facility should be available
  53. to designate a server address.  It was also recognized that the proposal
  54. contains no explicit internationalization facilities (e.g., to tag a
  55. desired language for user prompt messages).
  56.  
  57. Cliff Neuman expressed a desire to move forward quickly on revision of
  58. this specification to another Internet-Draft, and then to advance the
  59. result to Proposed Standard status.  Cliff asserted that client support
  60. for the defined passcode types should be mandatory, though server
  61. support would be optional (and often dependent on availability of
  62. proprietary vendor code).  In response to a query about availability of
  63. one-time password code in the MIT Kerberos distribution, Glen Zorn
  64. indicated that CyberSAFE would be willing to contribute requisite
  65. client-side code, and possibly a server-side S/Key implementation.
  66. Piers McMahon (ICL) noted that it would be useful to define a common API
  67. for use on the server side; Ted Ts'o observed that maintaining modular
  68. structure within the KDC was important.  Cliff also commented that
  69. additional work was underway on public-key preauthentication, but that
  70. it was not yet sufficiently complete or stable to be considered for
  71. standardization.  Further review of the Internet-Draft and comment on
  72. the working group mailing list was solicited.
  73.  
  74.  
  75. SPKM
  76.  
  77. Paul Van Oorschot (BNR) presented an update on the Simple Public-Key
  78. Mechanism (SPKM) proposal, documented in draft-ietf-cat-spkmgss-01.txt
  79. and for which Paul gave primary technical credit to Carlisle Adams of
  80. BNR. SPKM incorporates digital signature facilities (see also IOP
  81. extension proposal, discussed elsewhere in these minutes) as well as
  82. base GSS-API services, and can operate in a mode which imposes no
  83. requirement for shared secure time.  Algorithm IDs provide
  84. extensibility, and negotiation facilities are provided for selection of
  85. alternate algorithms for confidentiality, integrity, and key
  86. establishment within SPKM. QOP values are used to select among different
  87. integrity levels, including a level which provides non-repudiation.
  88.  
  89. Changes between the original and current SPKM Internet-Drafts were
  90. summarized.  Token formats include syntax changes for alignment with
  91. Project SESAME. The distinctions between SPKM-1 (random-number based,
  92. with 2-step one-way authentication of target to initiator, or 3-step
  93. mutual authentication) and SPKM-2 (timestamp-based, with one-step
  94. one-way authentication of initiator to target or 2-step mutual
  95. authentication) operational modes were clarified.  OIDs were changed to
  96. Algorithm IDs in order to carry parameters; all tokens are now encoded
  97. in ASN.1 BER. Context negotiation within the mechanism now negotiates
  98. the key establishment mechanism.  SPKM now specifies certificate_data as
  99. optional, and allows a source name in a request token as an alternative.
  100. The SPKM-REQ now has an optional authorization data field (as in
  101. Kerberos V5), and an optional validity period specifier for the
  102. context's key.  Two new integrity algorithms were added:  one which
  103. provides single-pass integrity and encryption for data and another based
  104. on an encrypted MD5 hash.  Some additional minor status values were
  105. defined for SPKM.
  106.  
  107. Error handling is enhanced by including a sequence number to identify
  108. the token within which a processing error occurred.  Some discussion
  109. ensued about whether error-reporting tokens were themselves signed
  110. objects; signatures are applied but (given the fact that the signatures
  111. will not necessarily be verifiable under all failure conditions), their
  112. reports are assumed to be accepted whether or not the signature check
  113. succeeds.  It was observed that this can make implementations vulnerable
  114. to disruption through receipt of gratuitous and/or spurious error
  115. tokens.  Further clarification on error token generation and processing
  116. is expected before the next IETF meeting.
  117.  
  118. Several SPKM implementation activities are proceeding.  BNR is
  119. approaching completion (before the end of 1994) of an implementation
  120. including some proprietary facilities and performance optimizations.
  121. SESAME is building an implementation of SPKM-2, which is to be publicly
  122. available.  The University of New Brunswick is developing a public
  123. reference SPKM implementation, and additional activity may be underway
  124. in Australia.  Ted Ts'o suggested that SPKM developers attempt to use
  125. the GSS-API sample application as available in the MIT Kerberos V5
  126. distribution as a test vehicle to exercise SPKM and to validate
  127. portability.  Interoperability testing is planned between now and
  128. February 1995, with results to be reported to the CAT list; depending on
  129. progress, SPKM may be recommended for advancement to Proposed Standard
  130. at, or before, the Danvers IETF meeting.
  131.  
  132.  
  133. GSS-API Bindings for Microsoft Windows
  134.  
  135. Piers McMahon reported on the status of Windows bindings for GSS-API,
  136. which had been the topic of prior mailing list discussion and proposal
  137. by Piers.  Like RFC 1509, Piers' draft presumes that GSS-API functions
  138. operate in a synchronous and potentially blocking mode; the prospect of
  139. an alternative asynchronous interface was also agreed to be useful, but
  140. would be a separate effort; Shawn Mamros (FTP) indicated possible
  141. interest in such an activity.  Ted Ts'o noted that MIT will be engaging
  142. a developer to build a Kerberos V5 DLL based on Piers' draft.  A version
  143. of the draft document as discussed in e-mail, reflecting revisions based
  144. on comments received, will be sent to Internet-Drafts shortly.
  145.  
  146.  
  147. GSS-API Overlay Proposals
  148.  
  149. Multiple proposals have been made on alternate interfaces to layer atop
  150. GSS-API, providing protected communications sessions, including (at
  151. least) Ted Ts'o's CATS, work (by Lam) at the University of Texas at
  152. Austin, and an e-mail proposal made by P. Rajaram.  Don Stephenson (Sun)
  153. was familiar with the UT/Austin work, and may be able to make its code
  154. and/or a descriptive USENIX paper available on-line.  We collected an
  155. informal subgroup (Don Stephenson, John Myers (CMU), Glen Zorn, Ed Reed
  156. (Novell), and Ted Ts'o) to work on a consolidated proposal to become an
  157. Internet-Draft, drawing on these inputs.
  158.  
  159.  
  160. GSS-V2:  Changes Made In the Internet-Draft
  161.  
  162. A number of changes, included in draft-ietf-cat-gssv2-00.txt, were
  163. summarized.  These changes are specific and incremental, derived from
  164. implementation experience and liaison requests and making only minor
  165. modifications to the functional model established in V1, and their
  166. inclusion is not perceived as necessitating reset of GSS-API's standards
  167. status to Proposed Standard rather than progressing to Draft Standard.
  168.  
  169.  
  170.    o Changed GSS_ prefix for major_status values to GSS_S_.
  171.  
  172.    o Added GSS_S_GAP_TOKEN major status to be returned by GSS_VerifyMIC()
  173.      and GSS_Unwrap() to indicate receipt of a message following skipped
  174.      predecessor sequenced messages.  Rewording in Section 1.2.3 on
  175.      sequencing indicators.
  176.  
  177.    o Added new GSS_S_BAD_QOP major status.
  178.  
  179.    o Added description of GSS_S_BAD_MECH return status for
  180.      GSS_Init_sec_context() and GSS_Accept_sec_context().
  181.  
  182.    o Added non-textual name import and export routines, as proposed in
  183.      the Kerberos V5 Internet-Draft.  Renamed GSS_Import_internal_name()
  184.      to GSS_Import_name_object() and GSS_Export_internal_name() to
  185.      GSS_Export_name_object() to avoid terminology confusion; the phrase
  186.      ``internal name'' is already used to represent the opaque form as
  187.      supported within a GSS-API implementation, and the input to
  188.      GSS_Import_name_object is an object tagged externally to GSS-API.
  189.  
  190.    o Added GSS_Inquire_context().
  191.  
  192.    o Deprecated GSS_Sign, GSS_Seal, GSS_Verify, GSS_Unseal routine names
  193.      in favor of successors GSS_GetMIC, GSS_Wrap, GSS_VerifyMIC,
  194.      GSS_Unwrap.  (After some discussion, we resisted the temptation to
  195.      revisit the function naming question again.)
  196.  
  197.    o Added new GSS_Wrap_size_limit() routine to determine how large an
  198.      input token can be provided to GSS_Wrap() without generating an
  199.      output token larger than a caller-specified size.
  200.  
  201.    o Rewrote description of channel bindings (Sec.  1.1.6) for purposes
  202.      of clarification.
  203.  
  204.    o In routine descriptions, changed types of credential and context
  205.      handle arguments to CREDENTIAL HANDLE and CONTEXT HANDLE,
  206.      respectively.
  207.  
  208.  
  209. GSS-V2:  Issues Pending and Discussed
  210.  
  211. This section summarizes topics pending against GSS-V2 and their intended
  212. disposition.  Further discussion is required to ascertain working group
  213. consensus about whether the scope of intended actions on these topics
  214. warrants resetting GSS-V2's standards status to Proposed Standard rather
  215. than proceeding to Draft status.
  216.  
  217.  
  218.    o Level, if any, to include extension routines for OID and OID set
  219.      management:  John Linn to send message to list, comparing Wray and
  220.      Glatting proposals; subsequent resolution to be sought on list.
  221.  
  222.    o GSS_Add_cred() proposal.  Accepted for addition.
  223.  
  224.    o ASN.1 syntax for Appendix B, conformantly permitting non-ASN.1
  225.      enclosed objects.  No information available.
  226.  
  227.    o Definition of reserved QOP values to distinguish NO, WEAK, MEDIUM,
  228.      STRONG levels in a mechanism-independent matter (with mapping to
  229.      algorithm choices to be mechanism-specified), and to distinguish
  230.      integrity QOP from confidentiality QOP. Accepted for addition.
  231.      Additional values designating FAST, SLOW, and (for integrity)
  232.      NON_REPUDIABLE were suggested and also accepted.
  233.  
  234.    o GSS_Delete_sec_context() to be documented as returning a token only
  235.      if caller requests same by passing a non-NULL buffer to accept it;
  236.      usage with NULL token and, therefore, without transfer of deletion
  237.      token to be recommended.
  238.  
  239.    o GSS_Process_context_token() changes to distinguish whether or not
  240.      context remains valid; action:  not adopted.
  241.  
  242.    o Facilities to enable binary compatibility:  believed to require
  243.      only changes to RFC 1509 (concrete typing of 4 objects), as
  244.      documented in e-mail from John Wray.  Action:  Review Wray proposal
  245.      and assume that it holds, unless list discussion revisits the
  246.      issue.
  247.  
  248.    o Ability for GSS_VerifyMIC() and GSS_Unwrap() to return, in addition
  249.      to current fatal errors on receipt of unsequenced messages, new
  250.      advisory codes to report the same conditions.  Action:  Intend to
  251.      support.  John Linn and Marc Horowitz (OpenVision) to codify
  252.      proposal to the list.
  253.  
  254.    o GSS_Open(), GSS_Close() proposal (added calls to obviate need for
  255.      constructing self-initializing implementations of other GSS-API
  256.      routines).  Ted Ts'o observed that the strongest portability rules,
  257.      as he has seen applied in other developments, require that neither
  258.      static nor global variables be used; conformance to this standard
  259.      would imply that each GSS-API routine would need to incorporate an
  260.      added parameter for a caller-provided state block, a pervasive
  261.      change which the group was not prepared to adopt at this time.  The
  262.      semantics of GSS_Open() and GSS_Close() in terms of objects which
  263.      could be allocated and freed (with and without maintenance of
  264.      reference counts) received some debate; resources (e.g., replay
  265.      caches) potentially sharable across multiple callers were a
  266.      particular discussion point.  Action:  discussion remanded to list.
  267.  
  268.    o Dual-use (INITIATE and ACCEPT) credentials, within which expiration
  269.      times and other parameters may differ for directions of use, and
  270.      extensions (e.g., by new parameter to GSS_Inquire_cred() or new
  271.      GSS_Inquire_cred_specific() routine in order to preserve
  272.      GSS_Inquire_cred()'s call signature intact:  there was disagreement
  273.      (as yet unresolved) about what, if any, changes are needed in this
  274.      area.  Action:  more discussion needed.
  275.  
  276.  
  277. FTP Security
  278.  
  279. Sam Sjogren (TGV) led discussion of FTP security, beginning at the end
  280. of the first CAT session and finishing at the beginning of the second
  281. session.  Relatively few of the session's attendees indicated detailed
  282. familiarity with the FTP security draft.  During the second session,
  283. Steve Lunt (J.P. Morgan), author of the current Internet-Draft
  284. (draft-ietf-cat-ftpsec-05.txt) joined the discussion via speakerphone.
  285. Sam Sjogren and Marc Horowitz intend to handle the next set of revisions
  286. to the Internet-Draft, between January 1995 and the next IETF meeting,
  287. with the result targeted for recommendation by the working group to Jeff
  288. Schiller as Security Area Director for advancement to Proposed Standard.
  289. Marc Horowitz noted that the current draft emphasizes client-side
  290. behavior and should be enhanced to include more detailed discussion of
  291. server-side cases and behavior as well; he has implemented client-side
  292. and server-side FTP security code layered atop GSS-API and can
  293. contribute to clarifying this discussion.
  294.  
  295. Proposal:  Add a new reply code to support OT passwords; the apparent
  296. sense of the group was that this was a useful and valid facility,
  297. without adverse impact on existing clients and enabling new
  298. security-aware clients to accomplish more intelligent behavior.
  299.  
  300. An issue was discussed about the relation between AUTH and USER
  301. commands:  is it acceptable to perform AUTH more than once
  302. (renegotiating) to create a new security context within an FTP session?
  303. A window of vulnerability can be constrained by refusing to act on
  304. commands which are received outside secure mode.  Proposal:  a new AUTH
  305. will tear down any existing security context and try to initiate a new
  306. one; Ted Ts'o notes that this does not work in all cases (e.g., chroot,
  307. where you would not be able to go back to prior identity) or on all
  308. system types.  Marc Horowitz notes that current FTP implementations
  309. refuse to accept a new USER command on an existing session; analogously,
  310. it would be possible for implementations to reject a new AUTH command
  311. once a context is in place.  An implementation note on behavior seems
  312. important here.
  313.  
  314. Should MIC be required on all commands once security initiated?
  315. Diffie-Hellman and one-time password mechanisms cannot accommodate this,
  316. for example.  Marc believes that it should not be required (if so
  317. negotiated, in a tamperproof fashion).  Proposal accepted; a server need
  318. not require use of MIC'd commands.
  319.  
  320. Use of more verbose error codes was proposed and accepted.
  321.  
  322. Multiline reply format (Jeff Schiller issue):  Jeff suggested dropping
  323. 1:1 correspondence between number of input versus protected lines,
  324. encoding multiline object as an object.  Noted that multiline replies,
  325. unlike file data, are not generally massive.  It was proposed that each
  326. line should be represented as a separate GSS-API token, but discussion
  327. here was not conclusive.
  328.  
  329.  
  330. Independent Object Protection (IOP)
  331.  
  332. Paul Van Oorschot proposed GSS-API extensions for use in a
  333. store-and-forward environment, per a recent Internet-Draft
  334. (draft-ietf-cat-iopgss-00.txt) authored by Carlisle Adams of BNR. Its
  335. motivations include the need to protect important applications (e.g.,
  336. e-mail) which are not session-based, to protect independent message
  337. objects, and to operate independently of on-line communication with
  338. target.  The IOP proposal permits a context, and an object protected in
  339. conjunction with that context, to be addressed to and processable by
  340. multiple recipients.  By intent, IOP contexts impose no expiration
  341. times.  For the case of mechanisms capable of supporting both base
  342. GSS-API and IOP functions, the ability to use common credentials for
  343. both classes of operations is a valuable facility.
  344.  
  345. The IOP proposal's security context construct contrasts with that in the
  346. base GSS-API: rather than being shared on-line with a peer, independent
  347. contexts at initiator and target allow creation and remote recovery of a
  348. key.  It was suggested that, in order to reduce confusion, another term
  349. rather than ``context'' be used to describe the IOP construct.  Ted Ts'o
  350. and Marc Horowitz expressed elements of an alternate view:  that at
  351. least some of IOP's goals might be satisfiable within the conventional
  352. GSS-API, given a mechanism within which context establishment could be
  353. accomplished with exactly one context establishment token from initiator
  354. to target, and suitable technology supporting the existing GSS-API
  355. per-message calls.  An updated draft is expected to include renaming of
  356. the IOP context construct and to clarify IOP context expiration
  357. semantics.
  358.  
  359. The IOP proposal leaves GSS-API's credential functions unchanged, and
  360. adds new IOP_Init_context(), IOP_Accept_context(), and
  361. IOP_Delete_context() for management of IOP contexts.  New per-object
  362. calls IOP_Protect(), IOP_Unprotect() are provided; each operation is
  363. subdivided into ``start,'' ``operate,'' and ``end operate'' calls,
  364. emitting a prot_token at the start of processing and an optional
  365. receipt_token; common routines provide functions analogous to both
  366. GSS_Wrap() and GSS_GetMIC().  Continuation facilities seem more important
  367. for protection of potentially-large documents than for the
  368. session-oriented paradigm in which the base GSS-API operates.  Each
  369. operation yields a buffer (e.g., of encrypted text), not a token; this
  370. aspect of the proposal was controversial.  Issues around segmentation of
  371. buffer data at peers, and requirements on crypto-algorithm quantization,
  372. arise here:  tokenizing would help here and will be explored.  One new
  373. support call, IOP_Extract_Prot_Token(), is added in the proposal.
  374. Clarification on buffers and their management is expected in an updated
  375. draft.
  376.  
  377. BNR is implementing the IOP proposal, but this implementation is not
  378. planned to become public domain; the availability of the specification
  379. is intended to encourage independent evaluation and implementation
  380. activities.
  381.  
  382.  
  383. Action Items Pending
  384.  
  385. Check on availability of documents on Stephenson and Rajaram's mechanism
  386. negotiation work; also on electronic availability of paper and,
  387. possibly, code from UT/Austin re session-oriented overlay for GSS-API.
  388. (Don Stephenson).
  389.  
  390. Send summary message re ``Service:''  name prefix issue (Ted Ts'o, to be
  391. supported by others with memory of the issue).
  392.  
  393.  
  394. Status of Active CAT Documents and Advancement Plans
  395.  
  396. GSS-V2:  To be revised Internet-Draft before Danvers meeting (John
  397. Linn).  To plan for advancement from Proposed to Draft standard level,
  398. we need a statement proposing how the IETF's independent implementation
  399. requirements for advancement to Draft, defined and commonly used for
  400. protocols, should be applied for this case of an interface
  401. specification; John Linn will draft such a statement.  Piers McMahon
  402. commented that X/Open has relevant experience in interface validation
  403. and is now planning test procedures and suites to validate conformance
  404. with GSS-V1.
  405.  
  406. FTP Security:  To be revised Internet-Draft early 1995, before Danvers
  407. meeting, with result targeted for advancement to Proposed Standard (Sam
  408. Sjogren, Marc Horowitz, Steve Lunt).
  409.  
  410. SPKM: Implementation experience pending at BNR and University of New
  411. Brunswick (the latter to be freely available reference implementation),
  412. possibly also at SESAME; experience to be summarized to list in advance
  413. of advancing current or revised Internet-Draft to Proposed Standard,
  414. possibly before Danvers meeting (Paul Van Oorschot, for Carlisle
  415. Adams).
  416.  
  417. IOP: Internet-Draft to be revised (Paul Van Oorschot, for Carlisle
  418. Adams).
  419.  
  420. Kerberos One-Time Passwords:  Internet-Draft probably to be revised
  421. (Glen Zorn, Cliff Neuman).
  422.  
  423. Kerberos V5 GSS-API mechanism:  slight Internet-Draft revision pending
  424. (John Linn).
  425.  
  426. Windows GSS-API bindings:  to be released as Internet-Draft (Piers
  427. McMahon).
  428.  
  429. RFC 1509:  Internet-Draft update needed to track 1508 changes, binary
  430. portability, and other pending issues (John Wray:  John Linn to contact
  431. re scope and status of planned RFC 1509 revisions.).
  432.  
  433.