home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / drafts / draft_ietf_a_c / draft-ietf-cat-pktapp-00.txt < prev    next >
Text File  |  1997-02-17  |  11KB  |  264 lines

  1. INTERNET-DRAFT                                    Ari Medvinsky
  2. Common Authentication Technology Working Group    Matthew Hur
  3.                                                   CyberSafe Corporation
  4.  
  5.                                                   B. Clifford Neuman
  6.                                                   USC/ISI
  7.  
  8.  
  9.                                                   Jan. 97 (Expires July, 97)
  10.  
  11.  
  12. Public Key Utilizing Tickets for Application Servers (PKTAPP)
  13.  
  14.  
  15. 0. Status Of this Memo
  16.  
  17. This document is an Internet-Draft.  Internet-Drafts are working
  18. documents of the Internet Engineering Task Force (IETF), its
  19. areas, and its working groups.  Note that other groups may also
  20. distribute working documents as Internet-Drafts.
  21.  
  22. Internet-Drafts are draft documents valid for a maximum of six
  23. months and may be updated, replaced, or obsoleted by other
  24. documents at any time.  It is inappropriate to use Internet-
  25. Drafts as reference material or to cite them other than as
  26. ``work in progress.''
  27.  
  28. To learn the current status of any Internet-Draft, please check
  29. the ``1id-abstracts.txt'' listing contained in the Internet-
  30. Drafts Shadow Directories on ftp.is.co.za (Africa),
  31. nic.nordu.net (Europe), munnari.oz.au (Pacific Rim),
  32. ds.internic.net (US East Coast), or ftp.isi.edu (US West Coast).
  33.  
  34.  
  35. 1. Abstract
  36.  
  37. Public key based Kerberos for Distributed Authentication[1], (PKDA) 
  38. proposed by Sirbu & Chuang, describes PK based authentication that 
  39. eliminates the use of a centralized key distribution center while 
  40. retaining the advantages of Kerberos tickets.  This draft describes how, 
  41. without any modification, the PKINIT specification[2] may be used to 
  42. implement the ideas introduced in PKDA.  The benefit is that only a 
  43. single PK Kerberos extension is needed to address the goals of PKINIT & 
  44. PKDA.
  45.  
  46.  
  47. 2. Introduction
  48.  
  49. With the proliferation of public key cryptography, a number of public 
  50. key extensions to Kerberos have been proposed to provide 
  51. interoperability with the PK infrastructure and to improve the Kerberos 
  52. authentication system [4].  Among these are PKINIT[2] (under development in 
  53. the CAT working group) and more recently PKDA [1] proposed by Sirbu & 
  54. Chuang of CMU.  One of the principal goals of PKINIT is to provide for 
  55. interoperability between a PK infrastructure and Kerberos.  Using 
  56. PKINIT, a user can authenticate to the KDC via a public key certificate.  
  57. A ticket granting ticket (TGT), returned by the KDC, enables a PK user 
  58. to obtain tickets and authenticate to kerberized services.  The PKDA 
  59. proposal goes a step further.  It supports direct client to server 
  60. authentication, eliminating the need for an online key distribution 
  61. center.  In this draft, we describe how, without any modification, the 
  62. PKINIT protocol may be applied to achieve the goals of PKDA. For direct 
  63. client to server authentication, the client will use PKINIT to 
  64. authenticate to the end server (instead of a central KDC), which then, 
  65. will issue a ticket for itself.  The benefit of this proposal, is that a 
  66. single PK extension to Kerberos can addresses the goals of PKINIT and 
  67. PKDA.
  68.  
  69.  
  70. 3. PKDA background
  71.  
  72. The PKDA proposal provides direct client to server authentication, thus 
  73. eliminating the need for an online key distribution center.  A client 
  74. and server take part in an initial PK based authentication exchange, 
  75. with an added caveat that the server acts as a Kerberos ticket granting 
  76. service and issues a traditional Kerberos ticket for itself.  In 
  77. subsequent communication, the client makes use of the Kerberos ticket, 
  78. thus eliminating the need for public key operations on the server.  This 
  79. approach has an advantage over SSL in that the server does not need to 
  80. save state (cache session keys).  Furthermore, an additional benefit, is 
  81. that Kerberos tickets can facilitate delegation (see Neuman[3]). 
  82.  
  83. Below is a brief overview of the PKDA protocol.  For a more detailed 
  84. description see [1]. 
  85.  
  86. SCERT_REQ: Client α Server
  87. The client requests a certificate from the server.  If the serverÆs 
  88. certificate is cached locally, SCERT_REQ and SCERT_REP are omitted.
  89.  
  90. SCERT_REP:  Server α Client
  91. The server returns its certificate to the client.
  92.  
  93. PKTGS_REQ: Client α Server
  94. The client sends a request for a service ticket to the server.  To 
  95. authenticate the request, the client signs, among other fields, a time 
  96. stamp and a newly generated symmetric key .  The time stamp is used to 
  97. foil replay attacks;  the symmetric key is used by the server to secure 
  98. the PKTGS_REP message. 
  99. The client provides a certificate in the request (the certificate 
  100. enables the server to verify the validity of the clientÆs signature) and 
  101. seals it along with the signed information using the serverÆs public 
  102. key.  
  103.  
  104. PKTGS_REP:  Server α Client
  105. The server returns a service ticket (which it issued for itself) along 
  106. with the session key for the ticket.  The session key is protected by 
  107. the client-generated key from the PKTGS_REQ message.  
  108.  
  109. AP_REQ:  Client α Server
  110. After the above exchange, the client can proceed in a normal fashion, 
  111. using the conventional Kerberos ticket in an AP_REQ message.
  112.  
  113.  
  114. 4. PKINIT background
  115.  
  116. One of the principal goals of PKINIT is to provide for interoperability 
  117. between a public key infrastructure and Kerberos.  Using a public key 
  118. certificate, a client can authenticate to the KDC and receive a TGT 
  119. which enables the client to obtain service tickets to kerberized 
  120. services..  In PKINIT, the AS-REQ and AS-REP messages remain the same; 
  121. new preauthentication data types are used to conduct the PK exchange.  
  122. Client and server certificates are exchanged via the preauthentication 
  123. data.  Thus, the exchange of certificates , PK authentication, and 
  124. delivery of a TGT can occur in two messages.
  125.  
  126. Below is a brief overview of the PKINIT protocol.  For a more detailed 
  127. description see [2]. 
  128.  
  129. PreAuthentication data of AS-REQ:  Client α Server
  130. The client sends a list of trusted certifiers, a signed PK 
  131. authenticator, and its certificate.  The PK authenticator, based on the 
  132. Kerberos authenticator, contains the name of the KDC, a timestamp, and a 
  133. nonce.
  134.  
  135. PreAuthentication data of AS-REP:  Server ▀ Client
  136. The server responds with its certificate and the key used for decrypting 
  137. the encrypted part of the AS-REQ.  This key is encrypted with the 
  138. clientÆs public key.
  139.  
  140. AP_REQ:  Client α Server
  141. After the above exchange, the client can proceed in a normal fashion, 
  142. using the conventional Kerberos ticket in an AP_REQ message.
  143.  
  144.  
  145. 5. Application of PKINIT to achieve equivalence to PKDA
  146.  
  147. While PKINIT is normally used to retrieve a ticket granting ticket 
  148. (TGT), it may also be used to request an end service ticket.  When used 
  149. in this fashion, PKINIT is functionally equivalent to PKDA.  We 
  150. introduce the concept of a local ticket granting server (LTGS) to 
  151. illustrate how PKINIT may be used for issuing end service tickets based 
  152. on public key authentication.  It is important to note that the LTGS may 
  153. be built into an application server, or it may be a stand-alone server 
  154. used for issuing tickets within a well-defined realm, such as a single 
  155. machine.  We will discuss both of these options.
  156.  
  157.  
  158. 5.1. The LTGS
  159.  
  160. The LTGS processes the Kerberos AS-REQ and AS-REP messages with PKINIT 
  161. preauthentication data.  When a client submits an AS-REQ to the LTGS, it 
  162. specifies an application server, in order to receive an end service 
  163. ticket instead of a TGT.
  164.  
  165.  
  166. 5.1.1. The LTGS as a standalone server
  167.  
  168. The LTGS may run as a separate process that serves applications which 
  169. reside on the same machine. This serves to consolidate administrative 
  170. functions and provide an easier migration path for a heterogeneous 
  171. environment consisting of both public key and Kerberos.  The LTGS would 
  172. use one well-known port (port #88 - same as the KDC) for all message 
  173. traffic and would share a symmetric with each service.  After the client 
  174. receives a service ticket, it then contacts the application server 
  175. directly.  This approach is similar to the one suggested by Sirbu , et 
  176. al [1].
  177.  
  178.  
  179. 5.1.2. The LTGS as part of an application server
  180.  
  181. The LTGS may be combined with an application server.  This accomplishes 
  182. direct client to application server authentication; however, it requires 
  183. that applications be modified to process AS-REQ and AS-REP messages.  
  184. The LTGS would communicate over the port assigned to the application 
  185. server or over the well known Kerberos port for that particular 
  186. application.
  187.  
  188.  
  189. 6. Protocol differences between PKINIT and PKDA
  190.  
  191. Both PKINIT and PKDA will accomplish the same goal of issuing end 
  192. service tickets, based on initial public key authentication.  A PKINIT-
  193. based implementation and a PKDA implementation would be functionally 
  194. equivalent.  The primary differences are that 1)PKDA requires the client 
  195. to create the symmetric key while PKINIT requires the server to create 
  196. the key and 2)PKINIT accomplishes in two messages what PKDA accomplishes 
  197. in four messages.
  198.  
  199.  
  200. 7. Discussion
  201.  
  202. The concept of Kerberos names (i.e. domain based names) is orthogonal to 
  203. the concept of public key names, in that X.500 distinguished names do 
  204. not reside within a particular realm.  The assumption is that all user 
  205. principals will use X.500 distinguished names and that PKINIT will 
  206. support both X.500 and Kerberos names for application servers.  However, 
  207. it is our recommendation that X.500 be the default naming convention.
  208.  
  209.  
  210. 8. Summary
  211.  
  212. The PKINIT protocol can be used, without modification to facilitate 
  213. client to server authentication without the use of a central KDC.  The 
  214. approach described in this draft  (and originally proposed in PKDA[1]) 
  215. is essentially a public key authentication protocol that retains the 
  216. advantages of Kerberos tickets.
  217.  
  218. Given that PKINIT has progressed through the CAT working group of the 
  219. IETF, with plans for non-commercial distribution (via MITÆs v5 Kerberos)  
  220. as well as commercial support, it is worthwhile to provide PKDA 
  221. functionality, under the PKINIT umbrella.
  222.  
  223.  
  224. 9. Bibliography
  225.  
  226. [1] M. Sirbu, J. Chuang.  Distributed Authentication in Kerberos Using 
  227. Public Key Cryptography.  Symposium On Network and Distributed System 
  228. Security, 1997
  229.  
  230. [2] B.C. Neuman, B. Tung, J. Wray, . Trostle.  Public Key Cryptography 
  231. for Initial Authentication in Kerberos.  Internet Draft, October 1996. 
  232. (ftp://ietf.org/internet-drafts/draft-ietf-cat-kerberos-pk-init-02.txt)
  233.  
  234. [3] B.C. Neuman, Proxy-Based Authorization and Accounting for 
  235. Distributed Systems.  In Proceedings of the 13th International 
  236. Conference on Distributed Computing Systems, May 1993
  237.  
  238. [4] B.C. Neuman, Theodore Ts'o. Kerberos: An Authentication Service
  239. for Computer Networks, IEEE Communications, 32(9):33-38.
  240. September 1994.
  241.  
  242.  
  243. Authors' Addresses
  244.  
  245. Ari Medvinsky <ari.medvinsky@cybersafe.com>
  246. Matthew Hur   <matt.hur@cybersafe.com>
  247.  
  248. CyberSafe Corporation 
  249. 1605 NW Sammamish Raod
  250. Suite 310
  251. Issaquah, WA 98027-5378
  252. Phone: (206) 391-6000
  253. Fax:   (206) 391-0508
  254. http:/www.cybersafe.com
  255.  
  256.  
  257. B. Clifford Neuman
  258.  
  259. USC Information Sciences Institute
  260. 4676 Admiralty Way Suite 1001
  261. Marina del Rey CA 90292-6695
  262. Phone: +1 310 822 1511
  263. E-mail: bcn@isi.edu
  264.