Enabling On-line Commerce

Security, Trust, and Negotiation

Dr. James S. Miller
World Wide Web Consortium
MIT Lab for Computer Science

Commerce on the Web

Trust, not just Security

Elements of Trust

Technical Agenda

P3P: Privacy Protection

Privacy: The Issues

P3P Premises

P3P Public Promises

What P3P Is About

Terminology

Agreement
An agreement is a small unit of information that is sufficient to indicate that both parties have agreed on a common proposal.

Assuring Party
P3P assumes the existence of an entity which assures that the service will abide by its proposal; this assurance may come from the service or an independent assuring party.   The assuring party digitally signs proposals and is responsible for assuring their implementation by the service.

Agreements: The Issues

Agreements: The Technology

  1. the fingerprint of a proposal (if both parties agree that it need not be non-repudiable)
  2. the fingerprint (as above) plus the digital signature and identity information of the assuring party (q.v.) that is countersigning a proposal already signed by the user
  3. the fingerprint (as above) plus the digital signature and identity information of the user that is countersigning a proposal already signed by the assuring party (q.v.)

Technically, this corresponds to a small piece of metadata in RDF (Resource Description Framework) format that may optionally include a DSig 2.0-compliant signature.

Categories and Classes

Convenient ways of specifying sets of data elements, implicitly by attributes (categories) or explicitly by sets of names (classes).

Standardization of Names

Some standardization is mandatory and will be undertaken by the harmonization group:

Transferring Data (bi-directional)

Universal Negotiation Primitives

  1. OK, OK (2 types)
  2. PROP, proposal
  3. RFD, request for data
  4. RFP, request for proposal
  5. RFT, request for text of proposal
  6. TXD, transmit data (either direction)
  7. SRY, (sorry) refusal with reason (4 types)
  8. STP, stop negotiation

Negotiation Flow (part 1)

Message Meaning U to S? S to U? After Receiving Expected Response Data in Message Optional in Message
SRY-PROP Refuse Proposal Yes Yes PROP PROP Fingerprint of proposal refused Which practices are unacceptable (To Be Designed)
SRY-RFP I won't give you a Proposal Yes Yes RFP none    
SRY-RFT Proposal Text not available No Yes RFT none Agreement Reason
SRY-TXD Data transfer not accepted Yes No TXD none   Reason
OK-PROP Proposal acceptable Yes Yes PROP none Agreement  
OK-TXD Data transfer successful Yes Yes TXD none [hash of] data transferred  

Negotiation Flow (part 2)

PROP Here's a Proposal Yes Yes any time OK or SRY or PROP Text of a proposal Signature of initiator, fingerprint of previous Proposal
RFD Request for Data No Yes any time SRY, PROP, RFP, RFT or TXD Names of data elements, sets of data elements, or categories Previous agreement or new PROP
RFP Request for Proposal Yes Yes any time PROP or SRY Must agreement be signed? Set of URLs to be covered
RFT Request for Text of Proposal Yes No Agreement PROP or SRY Agreement  
TXD Transfer Data Yes Yes any time none, OK-TXD or SRY-TXD Data element names and values to be written, as requested Agreement
STP Stop negotiation Yes No any time before reaching an agreement Good question! none  

Privacy Protection: Not Just Technology