/[suikacvs]/webroot/www/2004/id/draft-trommler-http-ext-groups-00.txt
Suika

Contents of /webroot/www/2004/id/draft-trommler-http-ext-groups-00.txt

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (hide annotations) (download)
Tue Jun 15 08:37:16 2004 UTC (20 years, 10 months ago) by wakaba
Branch: MAIN
CVS Tags: HEAD
File MIME type: text/plain
New

1 wakaba 1.1
2    
3     Internet-Draft A. Hutchison, M. Kaiserswerth, P. Trommler
4     <draft-trommler-http-ext-groups-00.txt> IBM Zurich Research
5     March 20, 1996 (Expires September 20, 1996)
6    
7    
8    
9    
10     An Extension of the HTTP Authentication Scheme To Support Server Groups
11    
12    
13     1. Status of this Memo
14    
15     This document is an Internet-Draft. Internet-Drafts are working
16     documents of the Internet Engineering Task Force (IETF), its areas,
17     and its working groups. Note that other groups may also distribute
18     working documents as Internet-Drafts.
19    
20     Internet-Drafts are draft documents valid for a maximum of six months
21     and may be updated, replaced, or obsoleted by other documents at
22     any time. It is inappropriate to use Internet- Drafts as reference
23     material or to cite them other than as ``work in progress.''
24    
25     To learn the current status of any Internet-Draft, please check the
26     ``1id-abstracts.txt'' listing contained in the Internet- Drafts
27     Shadow Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe),
28     munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or
29     ftp.isi.edu (US West Coast).
30    
31     Distribution of this document is unlimited. Please send comments to
32     the authors (see last page for e-mail addresses).
33    
34    
35     2. Abstract
36    
37     This document motivates and describes an extension to HTTP which
38     allows protection spaces to be extended across multiple servers
39     residing in possibly different domains. These servers form groups
40     that allow browsers to obtain authentication information from a user
41     just once while accessing information on any one server cooperating
42     in such a group.
43    
44     To achieve this behavior, the HTTP WWW-Authenticate header
45     information must be extended. This approach is independent of the
46     authentication scheme, but is most scalable in conjunction with a
47    
48    
49    
50    
51    
52    
53    
54     Hutchison, Kaiserswerth, Trommler Expires September 20, 1996 [Page i]
55    
56     Internet-Draft HTTP Secure Server Groups March 20, 1996
57    
58    
59     trusted third party authentication scheme, such as the proposed
60     Mediated Digest Authentication.
61    
62    
63     3. Acknowledgments
64    
65     Thanks to Guenther Karjoth and Markus Buehler who helped identify the
66     need for this proposal.
67    
68    
69    
70    
71    
72    
73    
74    
75    
76    
77    
78    
79    
80    
81    
82    
83    
84    
85    
86    
87    
88    
89    
90    
91    
92    
93    
94    
95    
96    
97    
98    
99    
100    
101    
102    
103    
104    
105    
106    
107     Hutchison, Kaiserswerth, Trommler Expires September 20, 1996 [Page ii]
108    
109     Internet-Draft HTTP Secure Server Groups March 20, 1996
110    
111    
112    
113    
114     Contents
115    
116    
117    
118     1. Status of this Memo i
119    
120     2. Abstract i
121    
122     3. Acknowledgments ii
123    
124     4. Introduction 1
125    
126     5. HTTP Authentication and Protection Space Model 1
127    
128     6. The Server Group Model And Assumptions 2
129    
130     7. Secure Authentication To A Group Of WWW Servers 3
131    
132     8. Group Names and HTTP Modification 3
133     8.1. WWW-Authenticate Response-Header . . . . . . . . . . . . 4
134     8.2. Authorization Request-Header . . . . . . . . . . . . . . 5
135    
136     9. Example Usage 5
137     9.1. Basic Authentication . . . . . . . . . . . . . . . . . . 5
138     9.2. Digest Authentication . . . . . . . . . . . . . . . . . . 6
139     9.3. Mediated Digest Authentication . . . . . . . . . . . . . 6
140    
141     10. Implementation Issues 7
142     10.1. Server . . . . . . . . . . . . . . . . . . . . . . . . . 7
143     10.2. User Agent . . . . . . . . . . . . . . . . . . . . . . . 7
144    
145     11. Conclusion 8
146    
147     12. Authors' Address 9
148    
149    
150    
151    
152    
153    
154    
155    
156    
157    
158    
159    
160     Hutchison, Kaiserswerth, Trommler Expires September 20, 1996 [Page iii]
161    
162     Internet-Draft HTTP Secure Server Groups March 20, 1996
163    
164    
165     4. Introduction
166    
167     In this paper we propose an addition to the HTTP authentication
168     information which allows users to provide their authentication
169     information once for an entire set of servers belonging to the
170     same logical group. The concept is that even if servers reside in
171     different Internet domains, this enhancement allows them to share
172     information among authorized members in a seamless manner.
173    
174     Although the proposed extension is not restricted to any particular
175     authentication technique, we base our work on the Mediated Digest
176     Authentication [4] Internet-Draft proposal, whereby authentication
177     information is protected and, in the context of cooperating servers,
178     group management is facilitated.
179    
180    
181     5. HTTP Authentication and Protection Space Model
182    
183     Authentication of HTTP V1.0 [1] uses a simple challenge-response
184     mechanism, which works as follows: a server which requires
185     clients to authenticate themselves replies to a client's HTTP
186     method invocation with an Unauthorized (401) error code, and an
187     authentication challenge that contains an indication of the required
188     authentication method. The client may then resubmit its request, but
189     must include authentication information with it to be allowed access
190     to the server's resources. The authentication challenge is always
191     tied to a server-defined protection space.
192    
193     The protection space is defined through a combination of the server's
194     root Uniform Resource Locator (URL) and a server-specified realm.
195     For all practical purposes, the root URL is the server's name in
196     either DNS or dotted IP address notation. The realm is a name
197     the server administrator chooses and can be used to partition the
198     server's file system into different protection spaces.
199    
200     In a typical implementation, encountering an Unauthorized
201     (401) response causes a client browser to prompt the user for
202     authentication credentials before the request is resubmitted with
203     this information. For future accesses to the same protection space,
204     the browser may then cache the user credentials and automatically
205     include them in its accesses without further prompting the user.
206    
207     HTTP V1.0 [1] specifies only a basic authentication mechanism (BA),
208     where the browser includes the user identification and password as
209     a base-64 encoded string in an authentication field in the request
210    
211    
212    
213     Hutchison, Kaiserswerth, Trommler Expires September 20, 1996 [Page 1]
214    
215     Internet-Draft HTTP Secure Server Groups March 20, 1996
216    
217    
218     header. This scheme is described in the draft as "a non-secure
219     method of filtering unauthorized access to resources on an HTTP
220     server". As this authentication information travels in the clear
221     over an essentially insecure network, it is susceptible to capture by
222     an observer who could then masquerade as the original user.
223    
224     To address the security concerns of the basic HTTP authentication
225     method, two proposals were made in 1995. Both ensure that the
226     authentication information never travels in the clear. These schemes
227     can also prevent replay of HTTP requests by requiring that part of
228     the request information changes on subsequent accesses by a same
229     user to a given server protection space. This is achieved via the
230     inclusion of nonces.
231    
232     Digest Authentication (DA) [2] operates in a similar fashion
233     to BA, but transfers the user-id and password from browser to
234     server in a hashed form. A server provided nonce can be used
235     to establish response freshness and detect replays. Mediated
236     Digest Authentication (MDA) [4] is based on DA, but introduces
237     trusted third-parties who act as mediators in proving identity and
238     establishing a session key. Introduction of a client nonce enables
239     the browser to distinguish the server reply as the valid response
240     associated with its request. A server employing MDA supplies
241     a list of trusted third-parties, with which the server shares a
242     cryptographic key, to a requesting client. If the client is able
243     to identify a third-party in this list with which it also shares a
244     cryptographic key, then this party can be contacted to enable mutual
245     authentication to occur.
246    
247    
248     6. The Server Group Model And Assumptions
249    
250     In this proposal we define a group of servers as a set of physically
251     distinct servers wishing to collaborate to provide information to a
252     closed user group. This closed user group is trusted by each server.
253    
254     A server group can be recognized as existing amongst the involved
255     servers where, from a security point of view, access to one 'group
256     member' ensures access to other group members. In practical terms
257     this means that a company or organization can distribute information
258     over several (geographically- and/or domain-separated) servers to
259     form a server group.
260    
261     In the case of BA or DA, this requires that the (same) user-id and
262     password are stored at each server and kept consistent among these.
263    
264    
265    
266     Hutchison, Kaiserswerth, Trommler Expires September 20, 1996 [Page 2]
267    
268     Internet-Draft HTTP Secure Server Groups March 20, 1996
269    
270    
271     For reasons of consistency and distribution, use of the MDA scheme,
272     which employs trusted third party based authentication, is very
273     attractive. By 'signing-on' to any one of these group servers, a
274     user can access any other server of that server group without having
275     to repeat the sign-on procedure.
276    
277    
278     7. Secure Authentication To A Group Of WWW Servers
279    
280     To achieve the server group model described, single server
281     authentication requires extension to allow seamless retrieval of
282     documents from any server belonging to a group. Secure access to
283     servers in the group is seamless in that user-id and password are
284     explicitly supplied by the user only once (exploiting the normal
285     caching of authentication information in the browser), for the first
286     group server encountered.
287    
288     As described in section 5, HTTP authentication information is always
289     relative to a server's protection space, which is based on the
290     combination of the canonical root URL of that server and a server
291     defined realm. As a root URL always gives the server's Internet
292     address, the protection space is uniquely tied to that server
293     and cannot be extended to other servers that are only known under
294     different Internet addresses.
295    
296     To extend the HTTP protection space beyond a single WWW server, the
297     definition of the protection space must be made relative to a unique
298     group name rather than a (root) URL, and the browser must be notified
299     that the protection space information pertains to a group of servers
300     rather than a single server. In subsequent sections we describe how
301     this can be achieved.
302    
303    
304     8. Group Names and HTTP Modification
305    
306     We considered several different solutions for defining unique group
307     names for the global WWW. X.500-like distinguished group names were
308     one candidate, but we decided that (for the time being) the overhead
309     associated with maintaining such a naming scheme would be excessive.
310     We rather elected to use the DNS name of a distinguished server in
311     the server group as a unique base for the group name. This server
312     name combined with a freely chosen group name, and the realm of the
313     original HTTP specification, then defines a protection space that can
314     span multiple servers belonging to the same server group.
315    
316    
317    
318    
319     Hutchison, Kaiserswerth, Trommler Expires September 20, 1996 [Page 3]
320    
321     Internet-Draft HTTP Secure Server Groups March 20, 1996
322    
323    
324     The required modifications to HTTP are described in the next two
325     subsections.
326    
327    
328     8.1. WWW-Authenticate Response-Header
329    
330     The WWW-Authenticate response header is prescribed for Unauthorized
331     (401) server response messages. The field value is defined
332     as consisting of at least one challenge that indicates the
333     authentication scheme(s) and parameters applicable to the
334     Request-URI.
335    
336     The challenge-response authentication mechanism of HTTP is described
337     in [1] as:
338    
339     auth-scheme = token
340    
341     auth-param = token "=" quoted-string
342    
343     where 'token' is a case-insensitive identification of the
344     authentication scheme, or the attribute for which an associated value
345     is given, respectively.
346    
347     The 401 (unauthorized) response is structured as follows:
348    
349     challenge = auth-scheme 1*SP realm *("," auth-param)
350    
351    
352     realm = "realm" "=" realm-value
353     realm-value = quoted-string
354    
355    
356     The HTTP V1.0 draft limits the 'realm' to a specific server where
357     'the realm value, in combination with the canonical root URL of
358     the server being accessed, defines the protection space'. In this
359     way a set of 'protection spaces' is achieved. It is explicitly
360     stated, though, that a single protection space cannot extend outside
361     the scope of its server unless the authentication scheme specifies
362     otherwise.
363    
364     Our proposal is to add an optional 'servgrp' field which can be
365     used independently of authentication scheme to achieve cross-server
366     protection spaces when desired. This results in a challenge field
367     consisting of:
368    
369    
370    
371    
372     Hutchison, Kaiserswerth, Trommler Expires September 20, 1996 [Page 4]
373    
374     Internet-Draft HTTP Secure Server Groups March 20, 1996
375    
376    
377     challenge = auth-scheme 1*SP realm *("," auth-param) ["," servgrp]
378    
379     servgrp = "servgrp" "=" servgrp-value
380    
381     servgrp-value = quoted-string
382    
383     The content of the servgrp-value should be made unique in accordance
384     with the naming proposals in section 8 of this document.
385    
386    
387     8.2. Authorization Request-Header
388    
389     The Authorization request-header field is included by a user agent
390     wishing to authenticate itself with a server. The field value
391     is described in [1] as consisting of credentials containing the
392     authentication information of the user agent for the realm of the
393     resource being requested. The specification of a realm by a server
394     indicates that the same credentials should be valid for all other
395     requests within the nominated protection space.
396    
397    
398     9. Example Usage
399    
400     In this section we illustrate the usage of the servgrp field with the
401     Basic[1], Digest[2] and Mediated[4] authentication schemes.
402    
403     We have arbitrarily chosen to use the server "hundshorn.zurich.ibm.com"
404     as the unique group identifier, and illustrate three authentication
405     schemes with a group:
406    
407     hundshorn.zurich.ibm.com:med_image_group
408    
409    
410     9.1. Basic Authentication
411    
412     The following message shows the WWW-Authenticate header containing
413     server group information:
414    
415     WWW-Authenticate: Basic realm="x-rays",
416     servgrp="hundshorn.zurich.ibm.com:med_image_group"
417    
418     The browser constructs an unaltered BA Authorization response with
419     base-64 encoded user-id and password:
420    
421     Authorization: Basic YWh1OmFodQ==
422    
423    
424    
425     Hutchison, Kaiserswerth, Trommler Expires September 20, 1996 [Page 5]
426    
427     Internet-Draft HTTP Secure Server Groups March 20, 1996
428    
429    
430     9.2. Digest Authentication
431    
432     Extension of the digest authentication scheme results in a similar
433     extension of the WWW-Authenticate header with the addition of the
434     server group information:
435    
436     WWW-Authenticate: Digest realm="x-rays", nonce="824385109",
437     opaque="ef609f5de336fc7f0e0f5e22da9c921c",
438     servgrp="hundshorn.zurich.ibm.com:med_image_group"
439    
440     In this scheme the browser also returns an unaltered DA Authorization
441     response. In this case the browser returns a digest of the user-id
442     and password, so that an observer could not directly retrieve these
443     fields as in the BA case:
444    
445     Authorization: Digest username="ahu", realm="x-rays",
446     nonce="824385109", uri="digest/",
447     response="b9686783c8e29f91417a557bd13f65b7",
448     opaque="ef609f5de336fc7f0e0f5e22da9c921c"
449    
450    
451     9.3. Mediated Digest Authentication
452    
453     Extension of the MDA scheme can also be seen to present additional
454     server group information with the WWW-Authenticate header fields.
455     The MDA proposal also adds Trusted-Party messages to the server's
456     reply. A mutually trusted party is contacted by the browser
457     to perform authentication. The information in the server-mac
458     field is passed by the browser to the selected authentication
459     server (trusted-party), and in this way the client is also able to
460     authenticate the server. This is not possible in BA or DA:
461    
462     WWW-Authenticate: Mediated realm="x-rays", nonce="824384997",
463     opaque="017a975b3e5972507e7e098dc23e2031",
464     servgrp="hundshorn.zurich.ibm.com:med_image_group"
465    
466     Trusted-Party: uri="mdap://gletscherhorn.zurich.ibm.com:1995",
467     server-name="hundshorn.zurich.ibm.com",
468     server-mac="fb400c1e1dc023e49441cd5092fdd566"
469    
470     Trusted-Party: uri="mdap://galmihorn.zurich.ibm.com:1995",
471     server-name="hundshorn.zurich.ibm.com",
472     server-mac="e0dde363778ee29540b4410ab009daac"
473    
474    
475    
476    
477    
478     Hutchison, Kaiserswerth, Trommler Expires September 20, 1996 [Page 6]
479    
480     Internet-Draft HTTP Secure Server Groups March 20, 1996
481    
482    
483     Trusted-Party: uri="mdap://hundshorn.zurich.ibm.com:1995",
484     server-name="hundshorn.zurich.ibm.com",
485     server-mac="0205a4ea82fa6b596025038326759298"
486    
487     After receiving a (positive) response from the contacted
488     trusted-party, the browser returns Authorization and Session-key
489     headers to the server:
490    
491     Authorization: Mediated username="ahu", realm="x-rays",
492     nonce="824384997",
493     uri="mediated/", response="12f1950f5ca91f4febb7c6c05d0ec284",
494     opaque="017a975b3e5972507e7e098dc23e2031"
495    
496     Session-key: uri="mdap://hundshorn.zurich.ibm.com:1995",
497     server-name="hundshorn.zurich.ibm.com",
498     server-key="ce6b7e04611d687ebdae5bdb59514593",
499     server-mac="0dcda62dc189d186302b81f97c275827"
500    
501     The Internet Draft on MDA [4] requires a WWW server to cache session
502     keys established by the authentication server. In this way state is
503     introduced into the server which is supposed to be stateless. We
504     therefore decided to cache the session key data received from the
505     authentication server in the user agent. The user agent then resends
506     this information each time a particular server is accessed again.
507     Alternatively the approach of [3] could be deployed by adding the
508     session key to the State-Info header (in encrypted form).
509    
510    
511     10. Implementation Issues
512    
513     In this section we briefly describe the issues which have to be
514     addressed in supporting the HTTP Modification described in section 8.
515    
516    
517     10.1. Server
518    
519     On the server side it is necessary to enhance the access control
520     files with a directive for naming the server group to which documents
521     belong.
522    
523    
524     10.2. User Agent
525    
526     On the user agent side it is necessary to take the group organization
527     into consideration when caching authentication information. The
528    
529    
530    
531     Hutchison, Kaiserswerth, Trommler Expires September 20, 1996 [Page 7]
532    
533     Internet-Draft HTTP Secure Server Groups March 20, 1996
534    
535    
536     current organization which HTTP implies (via the uni-server 'realm')
537     is that servers are divided into local protection spaces. In the
538     proposed multi-server 'server group' protection space, cache lookup
539     should first consider group membership before attempting realm
540     matching.
541    
542    
543     11. Conclusion
544    
545     This document has presented a mechanism by which the existing HTTP
546     single-server protection space can be extennded to provide protection
547     across multiple servers. The extension enables seamless cooperation
548     amongst servers, and secure authentication if it is used with a
549     method such as MDA.
550    
551     The nature of this proposal is such that the enhancements can be
552     implemented to coexist with the authentication mechanism of HTTP
553     V1.0, or the various proposed authentication enhancements. The
554     proposal allows upward compatibility, in that non group-enabled
555     browsers simply ignore the additional information.
556    
557     We also advocate incorporation of secure group enablement as a
558     permanent feature in the revised version of HTTP, V1.1.
559    
560     An AIX patch for NCSA's httpd version 1.5a and Mosaic for XWindow
561     version 2.7b2 is available via anonymous ftp from ftp.zurich.ibm.com
562     in directory /pub/trp/server-groups. An implementation of the
563     authentication server can also be found at this location.
564    
565    
566     References
567    
568     [1] T. Berners-Lee and R. T. Fielding and H. Frystyk Nielsen
569     HyperText Transfer Protocol (HTTP) Internet Draft, Work in
570     Progress February 1996
571    
572     [2] J. Hostetler and others A Proposed Extension to HTTP: Digest
573     Access Authentication Internet Draft, Work in Progress December
574     1995
575    
576     [3] D. M. Kristol and L. Montulli Proposed HTTP State Management
577     Mechanism Internet Draft, Work in Progress February 1996
578    
579     [4] D. Raggett Mediated Digest Authentication Internet Draft, Work
580     in Progress March 1995 (expired)
581    
582    
583    
584     Hutchison, Kaiserswerth, Trommler Expires September 20, 1996 [Page 8]
585    
586     Internet-Draft HTTP Secure Server Groups March 20, 1996
587    
588    
589     12. Authors' Address
590    
591     Andrew Hutchison, Matthias Kaiserswerth, Peter Trommler
592     IBM Zurich Research Laboratory
593     Saeumerstrasse 4
594     CH-8803, Rueschlikon
595     Switzerland
596     {ahu,kai,trp}@zurich.ibm.com
597    
598     Any correspondence should please be directed to trp@zurich.ibm.com.
599     (Phone: +41 1 724 8373 Fax: +41 1 710 3608)
600    
601    
602    
603    
604    
605    
606    
607    
608    
609    
610    
611    
612    
613    
614    
615    
616    
617    
618    
619    
620    
621    
622    
623    
624    
625    
626    
627    
628    
629    
630    
631    
632    
633    
634    
635    
636    
637     Hutchison, Kaiserswerth, Trommler Expires September 20, 1996 [Page 9]

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24