/[suikacvs]/webroot/www/2004/id/draft-ietf-http-trust-state-mgt-02.txt
Suika

Contents of /webroot/www/2004/id/draft-ietf-http-trust-state-mgt-02.txt

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (show annotations) (download)
Tue Jun 15 08:04:04 2004 UTC (19 years, 11 months ago) by wakaba
Branch: MAIN
CVS Tags: HEAD
File MIME type: text/plain
New

1
2
3
4
5
6
7
8
9 HTTP Working Group Daniel Jaye
10 INTERNET DRAFT Engage Technologies
11
12
13 <draft-ietf-http-trust-state-mgt-02.txt>
14 March 4, 1998 Expires September 4, 1998
15
16
17 HTTP Trust Mechanism for State Management
18
19
20 Status of this Memo
21
22 This document is an Internet-Draft. Internet-Drafts are
23 working documents of the Internet Engineering Task Force
24 (IETF), its areas, and its working groups. Note that other
25 groups may also distribute working documents as Internet-
26 Drafts.
27
28 Internet-Drafts are draft documents valid for a maximum of six
29 months and may be updated, replaced, or obsoleted by other
30 documents at any time. It is inappropriate to use Internet-
31 Drafts as reference material or to cite them other than as
32 ``work in progress.''
33
34 To learn the current status of any Internet-Draft, please
35 check the ``1id-abstracts.txt'' listing contained in the
36 Internet- Drafts Shadow Directories on ftp.is.co.za (Africa),
37 nic.nordu.net (Europe), munnari.oz.au (Pacific Rim),
38 ds.internic.net (US East Coast), or ftp.isi.edu (US West
39 Coast).
40
41 This is author's draft 2.06.
42
43
44 ABSTRACT
45
46 HTTP TRUST MECHANISM FOR STATE MANAGEMENT
47 March 3, 1998
48
49 1. ABSTRACT
50
51 This document specifies an addition to the state management protocol
52 specified in draft-ietf-http-state-man-mec-08[Kristol]. The intent is
53 to provide a mechanism that allows user agents to determine the privacy
54 practices of a server and to accept or reject cookies based on those
55 practices. Allowing the user to establish preferences for how to handle
56 cookies based on the server's practices provides a practical mechanism
57
58
59
60 Jaye draft-ietf-trust-state-mgt-02.txt [Page 1]
61
62
63 INTERNET DRAFT HTTP Trust Mechanism for State Mgt March 4, 1998
64
65
66 to provide users control over the privacy implications of cookies.
67
68 To provide verification of server privacy practices, we assume the
69 existence of one or more independent Trust Authorities. The authority
70 establishes PICS ratings representing server privacy practices. It then
71 issues trust-labels, in the form of digitally signed PICS labels, to
72 organizations for specific domains and paths based on the server privacy
73 practices. The Trust Authority must be able to audit domains to
74 verify their adherence to a given level. Passing these trust-labels
75 along with cookies allows the user agent to support cookie handling
76 preferences based on trusted privacy practices.
77
78 This document describes how PICS-headers are used in conjunction with
79 Set-Cookie or Set-Cookie2 headers in [Kristol] to provide trust-labels
80 to communicate the privacy practices of servers regarding cookies.
81
82
83 2. TERMINOLOGY
84
85 The terms user agent, client, server, proxy, and origin server have the
86 same meaning as in the HTTP/1.1 specification [RFC 2068]. The terms
87 domain-match, verifiable transaction, and unverifiable transaction are
88 defined in [Kristol], and those definitions are also used here.
89
90 The term trust-label is used to mean a PICS label [PICS] used to
91 communicate the cookie-related privacy practices of a server.
92 The term Trust Authority refers to the PICS label rating service for
93 trust-labels who may issue digitally signed trust-labels to domains.
94
95
96 3. OUTLINE
97
98 The server sends a Set-Cookie and/or a Set-Cookie2 header to the user
99 Agent along with a PICS-Label header containing the trust-label. The
100 user agent may then use that information to guide the acceptance or
101 rejection of the cookie. If the trust-label has a digital signature,
102 the user agent may use the well-known public key of the Trust
103 Authority to decrypt the signature of the trust-label to verify the
104 identity and practices of the server and scope of the trust-label.
105
106 3.1 Syntax: General
107
108 This specification describes how the PICS-Label header, described in
109 [PICS], is used to convey the privacy practices of the server to the
110 user-agent The new PICS-Label header syntax is specified below:
111
112 trust-label = "PICS-Label:" labellist
113
114 The header is recognized as a trust-label by the existence of the
115 cookieinfo extension. This trust-label applies to cookies in the
116 response that are compatible (as described in section 3.3.1) with
117 the domain and path of the "for" labelattr of the PICS-Label header.
118
119
120
121 Jaye draft-ietf-trust-state-mgt-02.txt [Page 2]
122
123
124 INTERNET DRAFT HTTP Trust Mechanism for State Mgt March 4, 1998
125
126
127 The specific cookies are listed in the cookieinfo extension to the
128 PICS label or to all compatible cookies if no cookies listed in the
129 cookieinfo extension. "labellist" is as specified in the PICS 1.1 label
130 syntax in [PICS], except for the following changes:
131 an extension to include a list of the specific cookies to
132 to which the trust-label applies;
133 an optional extension according to the digital signatures
134 working draft [DSIG];
135 the optional label attributes "by" "gen" "for" "on" and "exp"
136 are required.
137
138 The modified PICS label syntax is listed here.
139
140 labellist = "(" "PICS-1.1" service-info ")"
141 service-info = serviceID "label" 1*label
142 serviceID =
143 "http://www.w3.org/PICS/systems/P3P-http-trust-state-01.rat" |
144 quotedURL
145 label = labelattr "ratings" "(" privacypractice ")"
146 cookieinfo [sigblock]
147 labelattr = ["by" quotedname]
148 "gen" boolean
149 "for" quotedURL
150 "on" quoted-ISO-date
151 "exp" quoted-ISO-date
152 privacypractice = "purpose" 1*purposerating
153 "identifiable" idrating
154 "domain of use" dourating
155 cookieinfo = "extension" "(" "mandatory"
156 <"> "http://www.w3.org/PICS/extensions/cookieinfo-1_0.html" <">
157 *cookiename ")"
158 cookiename = NAME
159 purposerating = "0" | "1" | "2" | "3" | "4" | "5"
160 idrating = "0" | "1"
161 dourating = "0" | "1" | "2" | "3" | "4"
162
163 "quotedname", "quotedURL", "rating", and "quoted-ISO-date" are as
164 defined in the PICS specification [PICS].
165 ServiceID references a quoted URL that defines the rating service and
166 rating system. The well-known rating service proposed here is the
167 privacy rating system developed by the Platform for Privacy Project
168 (P3P) at the World-Wide Web Consortium (W3C).
169 "for" is the URL or root URL for which this label applies.
170 "by" is the email address of the issuing trust authority.
171 The "gen" boolean indicates whether the label is generic to the web site
172 or for a specific page. A value of "True" indicates that the label
173 is generic for all cookies with a Path attribute for which the path
174 component of the URL in the "for" attribute is a prefix.
175 "on" is the date the label was issued.
176 "exp" is the date the label expires.
177 "mandatory" in cookieinfo causes legacy browsers to ignore the label.
178 cookiename is the "NAME" of each cookie to which this label applies.
179
180
181
182 Jaye draft-ietf-trust-state-mgt-02.txt [Page 3]
183
184
185 INTERNET DRAFT HTTP Trust Mechanism for State Mgt March 4, 1998
186
187
188 sigblock is the digital signature extension as described in the digital
189 signature working draft[DSIG].
190 The sigblock must contain the SigCrypto token within the SigData block.
191 The SigCrypto token must contain the encrypted trust-label-data
192 described below.
193
194 trust-label-data = labelattr-data privacy-practice [cookielist]
195 labelattr-data = gen-boolean for-URL exp-date
196 gen-boolean = boolean
197 for-URL = quotedURL
198 exp-date = quoted-ISO-date
199
200 "gen-boolean", "for-URL", and "exp-date" refer to the values of the
201 "gen", "for", and "exp" attributes in the "labelattr" section.
202 "cookielist" refers to the list of cookie names in the cookieblock
203 extension.
204
205 Three well-known privacy-practice categories are described here to
206 provide recognized behavior that should be handled by user agents.
207 These categories are taken from the rating service developed by the
208 Platform for Privacy Project (P3P) at the World-Wide Web Consortium
209 (W3C).
210
211 Purpose
212
213 The purpose rating specifies and defines a set of six purposes for data
214 processing (data practices) relevant to the Web. Services must disclose
215 all that apply for each data element or data class they collect. If a
216 service does not disclose that a data element is used for a given
217 purpose, that is a representation that data is not used for that
218 purpose. Services that disclose that they use data for "other" purposes
219 should provide human readable explanations of those purposes.
220
221 "Completion and Support of Current Activity" value = 0
222 "Web Site and System Administration" value = 1
223 "Customization of Content and/or Design of Site" value = 2
224 "Research & Development" value = 3
225 "Contacting Visitors for Marketing of Services or Products"
226 value = 4
227 "Other Uses" value = 5
228
229 Identifiable
230
231 The Identifiable rating specifies whether the information gathered is in
232 identifiable form, is associated with identifiable information, or used
233 to derive personal identity.
234
235 "non-identifiable" value = 0
236 "identifiable" value = 1
237
238
239
240
241
242
243 Jaye draft-ietf-trust-state-mgt-02.txt [Page 4]
244
245
246 INTERNET DRAFT HTTP Trust Mechanism for State Mgt March 4, 1998
247
248
249 Domainofuse
250
251 The domain of use defines an organizational area, or domain, where data is likely to be used or redistributed by the service once collected.
252
253 "Only by ourselves and agents" value = 0
254 The data is used only by the service or its agents for the purposes
255 identified at the time of collection.
256 "Organizations following the same practices" value = 1
257 The data may be used by organizations that are obligated to use it
258 under the same constraints as those observed by the service that
259 collected it. For instance, the service may give data collected for
260 marketing purposes in non-identifiable form to a subsidiary who
261 could use it for marketing purposes in non-identifiable form.
262 "Organizations following different practices" value = 2
263 The data may be used by organizations that are constrained by and
264 accountable to the original service, but may use the data in a way
265 not specified in that service's practices.
266 "Unrelated third parties" value = 3
267 The data may be used by organizations that are not constrained by or
268 accountable to the original service.
269 "Public" value = 4
270 The data may be used in the public domain. For example, this might
271 apply to an alias stored in a cookie that is used to identify the
272 author of messages posted to a public bulletin board.
273
274 All other items above are as described in the PICS label syntax [PICS]
275 or in the Digital Signatures working draft [DSIG].
276
277 3.2 Server Role
278
279 A server communicates its privacy practices by sending an unsigned or
280 signed trust-label in the same response as the cookie header(s).
281 Any server wishing to provide a digitally signed trust-label must
282 request the label from a Trust Authority. The Trust Authority must have
283 the ability to evaluate the server and determine the trust rating
284 for which a label will be issued. That evaluation takes place outside
285 the protocol described here, as does the actual granting of the label
286 to the origin server.
287
288 The labels should expire no more than thirteen months and no less than
289 one month after they are issued. The server should store the trust
290 labels and only request a new trust-label from the Trust Authority when
291 the current trust-label is about to expire.
292
293 3.3 User Agent Role
294
295 The user agent receives a cookie headers and trust-labels from
296 an origin server.
297
298 3.3.1 Interpreting the trust-label
299 User agents interpret cookies as described in RFC 2109. In addition
300
301
302
303 Jaye draft-ietf-trust-state-mgt-02.txt [Page 5]
304
305
306 INTERNET DRAFT HTTP Trust Mechanism for State Mgt March 4, 1998
307
308 to the cookie attributes, the user agent must now interpret the
309 trust-labels as well. If the user agent receives a PICS label with a
310 serviceID from a recognized label service for trust-labels, it is
311 assumed to be a trust-label for all "compatible" cookies, as defined
312 below.
313
314 A trust-label and a cookie are defined as "compatible" if the following
315 conditions are met:
316 1) The domain portion of the URL specified in the "for" attribute of
317 labelattr domain-matches the Domain attribute of the cookie
318 response header, according to the matching rules in [Kristol].
319 2) The path portion of the URL specified in the "for" attribute of
320 labelattr is either a), a prefix of the Path attribute of the cookie
321 if the trust-label is generic or, b), an exact match with the Path
322 attribute of the cookie if the trust-label is not generic.
323
324 If the cookieinfo extension does not contain any cookie names, then
325 the trust-label applies to all cookies in the response that are
326 compatible.
327
328 A trust-label is ignored if the "exp-date" attribute of labelattr
329 is less than or equal to the current date.
330
331 To help verify the trustworthiness of the server, the user agent may
332 look for a digital signature and use the Trust Authority's well known
333 public key to decrypt the trust-label-data from the SigCrypto term.
334
335 The user agent obtains that public key outside this protocol. Given
336 that we expect only a few well-known Trust Authorities, the user agent
337 implementer should cache public keys from standard trust authorities
338 to avoid extra network traffic.
339
340 The labelattr-data, privacy-practice, and cookielist in the decrypted
341 trust-label-data from the sigblock must match the plaintext labelattr,
342 privacy-practice, and cookielist for the signature to be valid.
343
344 If the digital signature is invalid, then the trust-label should be
345 ignored and the cookie should not be set.
346
347 If the user agent is set to accept all cookies then all trust-label
348 processing can be skipped.
349
350 3.3.2 Accepting or rejecting Cookies
351
352 In addition to the rules for rejecting cookies specified in [Kristol], a
353 user or a user-designated agent should be able to designate preferences
354 for accepting or rejecting cookies based on the privacy-practice of the
355 server, whether the transaction is verifiable or unverifiable, and
356 whether the privacy-practice is signed by a recognized Trust Authority.
357
358 For example, a user may have a preference to accept all cookies from
359 verifiable transactions or rated "identifiable 0" and signed by a
360 recognized Trust Authority.
361
362
363
364 Jaye draft-ietf-trust-state-mgt-02.txt [Page 6]
365
366
367 INTERNET DRAFT HTTP Trust Mechanism for State Mgt March 4, 1998
368
369 User agents should have the following default preferences:
370 Automatically accept:
371 Cookies from verifiable transactions with trust-labels with
372 purposerating 0 through 4 and dourating 0;
373 Cookies from unverifiable transactions with trust-labels with
374 purposerating 0 through 4 and idrating 0 and
375 dourating 1.
376 Automatically reject:
377 Cookies from unverifiable transactions without trust-labels.
378
379 3.3.3 User intervention
380 The user agent may prompt the user to verify that it wishes to reject a
381 cookie in conditions where the cookie is being rejected based on
382 a default preference or no preference applies.
383
384 User agents that solicit user input for cookie handling may wish to
385 display the URL of the rating service to better inform the user of the
386 meaning of the privacy ratings for the server.
387
388 3.3.4 Cookie request header syntax
389 The syntax for the Cookie request header has not been modified.
390
391 3.4 Trust Authority Role
392
393 The Trust Authority referred to in this document must be a neutral third
394 party that can be trusted to accurately characterize the privacy
395 behavior of web sites. The issuing of trust-labels occurs outside the
396 scope of this protocol. However, the protocol depends on user trust in
397 the Trust Authority. The Trust Authority must understand the scope to
398 which a trust-label applies to ensure that for all situations in which
399 the trust-label would be deemed to be applicable, the server(s) are in
400 fact operating in accordance with the specified privacy rating.
401
402 3.4.1 Issuing trust-labels
403 On receiving a request for a signed trust-label, the authority should
404 verify the privacy practices of the site requesting the trust-label and
405 issue the appropriate trust-label. To issue the trust-label, the Trust
406 Authority assembles the trust-label-data, it canonicalizes whitespace
407 for the trust-label-data, and it encrypts the trust-label-data for the
408 site request using its private key and the algorithm specified in the
409 attribution of the digital signature. The encryption method must be a
410 public-private key pair with a well-known public key to eliminate
411 round-trips to the Trust Authority.
412
413 3.4.2 Revocation of trust-labels
414 Trust-labels must have expiration dates. When a trust-label is issued,
415 the Trust Authority must receive agreement from the requesting
416 organization that the privacy practices for which the trust-label was
417 assigned will be maintained until the trust-label expires, the domain
418 becomes inactive, or those cookies are no longer set or examined by the
419 organization's servers.
420
421 3.4.3 Discovery of privacy-practice ratings
422
423
424
425 Jaye draft-ietf-trust-state-mgt-02.txt [Page 7]
426
427
428 INTERNET DRAFT HTTP Trust Mechanism for State Mgt March 4, 1998
429
430
431 Privacy-practice ratings are defined in the PICS label rating system
432 referenced by the Trust Authority's label rating service. The
433 well-known rating service, http:\www.w3.org\PICS\1.0\P3P\v1.0, is referenced in this document.
434
435
436 4. EXAMPLES
437
438 4.1 Example 1
439
440 1. User Agent preferences:
441
442 In this example, the user agent has a preference for automatically
443 accepting cookies from domains that have valid rating of
444 "domainofuse 0".
445
446 2. User Agent -> Server
447
448 POST /acme/login HTTP/1.1
449 Host: www.acme.com
450 [form data]
451
452 User identifies self via a form.
453
454 3. Server -> User Agent
455 HTTP/1.1 200 OK
456 Set-Cookie2: Customer="WILE_E_COYOTE"; Max-Age = 94608000;
457 Version="1"; Path="/acme"
458 PICS-Label: (PICS-1.1
459 "http://www.w3.org/PICS/systems/P3P-http-trust-state-01.rat"
460 label
461 for "http://www.acme.com/"
462 exp "1998.12.31T23:59-0000"
463 extension
464 (mandatory
465 "http://www.w3.org/PICS/extensions/cookieinfo-1_0.html")
466 ratings (purpose 0:4 identifiable 1 domainofuse 0))
467
468 A cookie that includes the user's identity and an unsigned trust
469 label header are sent back to the user agent with the response. The
470 cookie is accepted because rating "domainofuse 0" is acceptable
471 according to the privacy preferences of the user agent.
472
473 4.2 Example 2
474
475 1. User Agent preferences:
476
477 In this example, the user agent has a preference for automatically
478 accepting cookies that are rated "domainofuse 0" or cookies in
479 unverifiable transactions that are rated "identifiable 0" and
480 "domainofuse 0" or "domainofuse 1 by www.aaa.org.
481
482
483
484
485 Jaye draft-ietf-trust-state-mgt-02.txt [Page 8]
486
487
488 INTERNET DRAFT HTTP Trust Mechanism for State Mgt March 4, 1998
489
490
491 2. User Agent -> Server
492
493 POST /acme/login HTTP/1.1
494 Host: www.acme.com
495 [form data]
496
497 User requests page with embedded IMG SRC reference to
498 "http://www.roadrunnermaps.com/cgi-bin/maps?TER=deserts&FE=cliffs"
499 3. Server -> User Agent
500 HTTP/1.1 200 OK
501 Set-Cookie2: Customer="0000000123"; Max-Age = 94608000;
502 Version="1"; Path="/birds"
503 PICS-Label: (PICS-1.1
504 "http://www.w3.org/PICS/systems/P3P-http-trust-state-01.rat"
505 label
506 by "auditor@aaa.org" gen true
507 for "http://www.acme.com/"
508 exp "1997.12.31T23:59-0000"
509 extension
510 (mandatory
511 "http://www.w3.org/PICS/extensions/cookieinfo-1_0.html")
512 ratings (purpose 0:4 identifiable 0 domainofuse 0))
513
514 A Cookie reflecting the users identity is transmitted with an
515 unsigned trust-label back to the user agent. The Cookie is accepted
516 by the user agent because the rating "domainofuse 0" is compatible
517 with the user agent's privacy preference.
518
519 4. User Agent -> Server
520
521 GET cgi-bin/maps?TER=deserts&FE=cliffs HTTP/1.1
522 Host: www.roadrunnermaps.com
523
524 User requests an image via CGI script from a third party map
525 provider. This is an unverifiable transaction.
526
527 5. Server -> User Agent
528 HTTP/1.1 200 OK
529 Set-Cookie2: Customer="0000000123"; Max-Age = 94608000;
530 Version="1"
531 PICS-Label: (PICS-1.1
532 "http://www.w3.org/PICS/systems/P3P-http-trust-state-01.rat"
533 label
534 by "auditor@aaa.org" gen true
535 for "http://www.roadrunnermaps.com/"
536 exp "1997.12.31T23:59-0000"
537 extension
538 (optional
539 "http://www.w3.org/PICS/extensions/cookieinfo-1_0.html"
540 Customer)
541
542
543
544
545
546 Jaye draft-ietf-trust-state-mgt-02.txt [Page 9]
547
548
549 INTERNET DRAFT HTTP Trust Mechanism for State Mgt March 4, 1998
550
551
552 extension
553 (mandatory "http://www.w3.org/PICS/DSig/sigblock-1_0.html"
554 ("AttribInfo"
555 ("http://www.w3.org/PICS/DSig/X509.html"
556 "base64-x.509-cert"))
557 ("Signature" "http://www.aaa.org/trust.html"
558 ("byName" "aaapublickey")
559 ("SigCrypto"
560 "8E53B19D35A3F198930E5D815B235A38930E53FDA815B2158")))
561 ratings (purpose 0:3 identifiable 0 domainofuse 1))
562
563 A cookie containing the user's system generated id number is
564 transmitted with a signed label back to user agent. The cookie is
565 accepted by user agent because a cookie rated "identifiable 0" and
566 "domainofuse 1" in an unverifiable transaction signed by
567 www.aaa.org" is acceptable to the user agent.
568
569
570 5. SECURITY CONSIDERATIONS
571
572 5.1 Revocation of trust-labels
573
574 A site could receive a trust-label for a particular trust level rating
575 and later change its policies before the trust-label has expired. To
576 address this Trust Authorities should execute agreements with trust
577 label recipients to provide legal remedies to discourage this behavior.
578
579 5.2 False representation
580
581 A site could state a privacy practice that it either intentionally or
582 unintentionally does not follow. If the trust-label is not signed by a
583 recognized trust authority, there is no independent verification of the
584 site's adherence to its stated privacy practice. However, if the site digitally signs the label, then that may represents a legally binding contract on the site to follow the professed privacy practice. In addition, the site may be in violation of consumer fraud statutes in some jurisdictions if they misrepresent their privacy practices.
585
586
587 6. SUMMARY
588
589 This document presents an extension to the state management protocol
590 defined in RFC2109. It describes only changes to that protocol. Any
591 parts of the state management mechanism not explicitly described here
592 are assumed to remain as defined in RFC 2109.
593
594 The protocol described here allows a user agent to verify that the
595 origin server is using cookies in a manner consistent with the privacy
596 expectations of the user, by providing a trust-label which may be signed
597 by a Trust Authority.
598
599
600
601
602
603 Jaye draft-ietf-trust-state-mgt-02.txt [Page 10]
604
605
606 INTERNET DRAFT HTTP Trust Mechanism for State Mgt March 4, 1998
607
608
609 7. ACKNOWLEDGEMENTS
610
611 This document represents input from Dave Kristol, Yaron Goland, Joseph Reagle, and Jonathan Stark..
612
613
614 8. REFERENCES
615
616 [PICS] Jim Miller et al, PICS Label Distribution Label Syntax and
617 Communication Protocols, Version 1.1, REC-PICS-labels-961031
618 http://www.w3.org/PICS/labels.html
619 [Kristol] Kristol, David M., Montulli, Lou, HTTP State Management
620 Mechanism (Rev 1).
621 Internet Draft <draft-ietf-http-state-man-mec-08.txt>
622 ftp://ietf.org/internet-drafts/draft-ietf-http-state-man-mec-08.txt
623
624 [DSIG] Philip DesAutels et al, DSIG 1.0 Signature Labels, Version 1.0,
625 WD-DSIG-label-970605
626 http:/www.w3.org/TR/WD-DSIG-label.html/
627
628
629 9. AUTHOR'S ADDRESS
630
631 Daniel Jaye
632 Engage Technologies
633 100 Brickstone Square, 1st Floor
634 Andover, MA 01810
635 djaye@engagetech.com
636 978 684-3641 voice
637 978 684-3636 fax
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663 Jaye draft-ietf-trust-state-mgt-02.txt [Page 11]
664

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24