Trade Working Group Ko Fujimura INTERNET-DRAFT NTT Expires: August 2001 February 2001 Requirements for Generic Voucher Trading Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. Distribution of this document is unlimited. Please send comments to the TRADE working group at , which may be joined by sending a message with subject "subscribe" to . Discussions of the TRADE working group are archived at http://www.elistx.com/archives/ietf-trade. Abstract In purchase and other trading transactions, it is often required to credit loyalty points, collect digital coupons or gift certificates, and so on. These activities can be generalized using the concept of a "voucher", which is a digital representation of the right to claim goods or services. This document contains a voucher trading model and the requirements for the following points: - A voucher trading system to circulate vouchers securely - A language to describe diverse types of vouchers Conventions used in this document The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119]. Ko Fujimura [Page 1] INTERNET-DRAFT Requirements for Generic Voucher Trading February 2001 Table of Contents Status of this Memo ................................................1 Abstract ...........................................................1 1. Background ......................................................2 2. Terminology and Model ...........................................3 2.1 Voucher ......................................................3 2.2 Participants .................................................3 2.3 Voucher trading system (VTS) .................................4 3. VTS Requirements ................................................5 3.1 Capability to handle diversity ...............................5 3.2 Ensuring security ............................................5 3.3 Ensuring practicality ........................................6 4. GVL Requirements ................................................6 4.1 Semantics ....................................................6 4.2 Syntax .......................................................7 4.3 Security .....................................................7 4.4 Efficiency ...................................................8 4.5 Coordination .................................................8 5. VTP Requirements ................................................8 6. Application Examples ............................................8 7. Q & A ..........................................................10 8. Security Considerations ........................................11 9. Acknowledgments ................................................11 10. References .....................................................11 11. Author's Address ...............................................11 1. Background It is often necessary to credit loyalty points, collect digital coupons or gift certificates, etc, to complete purchases or other trading transactions in the real world. The importance of these activities is also being recognized in Internet Commerce. If a different issuing or collecting system to handle such points or coupons must be developed for each individual application, the implementation cost will be too expensive, especially for small businesses. Consumers may also be forced to install a number of software modules to handle these points or coupons. A voucher is a digital representation of the right to claim services or goods. Using the concept of a voucher, a wide-range of electronic-values including points or coupons can be handled in a uniform manner with one trading software module. This document presents the terminology, voucher trading model, requirements on Voucher Trading System (VTS) that circulate vouchers securely, and Generic Voucher Language (GVL), in which diverse types of vouchers can be described. Along with the Voucher Trading Protocol (VTP), VTS enables companies or individuals to freely issue, transfer, and redeem various types of vouchers via the Internet. This document does not Ko Fujimura [Page 2] INTERNET-DRAFT Requirements for Generic Voucher Trading February 2001 include protocol-related requirements, which will be presented in a separate document. 2. Terminology and Model 2.1 Voucher A voucher is a digital representation of the right to claim goods or services. To clarify the difference between vouchers and electronic money/digital certificates, we introduce a formal definition of vouchers in this document. Let I be a voucher issuer, H be a voucher holder, P be the issuer's promise to the voucher holder. A voucher is defined as the 3-tuple of . Examples of P are as follows: o Two loyalty points are added to the card. If you collect 50 points, you'll get one item free. (Loyalty points) o Take 10% off your total purchase by presenting this card. (Membership card) o Take 50% off your total purchase with this coupon. (Coupon) o The bearer can access "http://..." for one month free. (Free ticket for sales promotion) o The bearer can exchange the ordered clothes with this ticket. (Exchange ticket or Delivery note) o Seat number A-24 has been reserved for "a-concert" on April 2. (Event ticket) Note that P does not need to be described in terms of a natural language as long as the contents of the vouchers are specified. For example, a set of attribute name and value pairs described in XML can be employed to define the contents. 2.2 Participants There are four types of participants in the voucher trading model: issuer, holder, collector, and VTS provider. Their roles are as follows: Issuer: Creates and issues a voucher. Guarantees contents of the voucher. Holder (or user): Owns the vouchers. Transfers and redeems the voucher to other users or collector. Collector (or examiner): Collects the voucher. In general, compensated by goods or services rendered. VTS Provider: Provides a VTS and guarantees that there are no duplicate assignments or multiple use of vouchers. Ko Fujimura [Page 3] INTERNET-DRAFT Requirements for Generic Voucher Trading February 2001 The IOTP model [IOTP] includes merchant, deliverer, consumer and other participants. They take various roles in the settlement because a merchant, for example, can be considered as an issuer, or holder depending on whether the merchant creates the voucher her/himself or purchases it from a wholesaler or manufacturer. A merchant can also be a collector if the shop collects gift certificate or coupons. 2.3 Voucher Trading System (VTS) A voucher is generated by the issuer, and traded among users, and finally is collected by the collector: Issuer I --------> User H ---------> User H' ---------> Collector Issue Transfer Redemption Figure 1. Life cycle of vouchers The VTS provider provides a VTS that enables vouchers to be circulated among the participants securely. A formal definition of VTS is as follows: Definition: A voucher trading system (VTS) is a system that logically manages a set of valid vouchers VVS, which is a subset of { | I in IS, P in PS, H in HS} where IS is the set of issuers, PS is the set of promises, and HS is the set of holders; VTS prevents them from being modified or reproduced except where for the following three transactions: issue, transfer, and redemption. The initial state of the VVS is an empty set. Note that this does not imply that VVS is stored physically in a centralized database. For example, one implementation may store them in distributed smart cards carried by each holder [T00], or may store them in multiple servers managed by each issuer or trusted third parties. This is a trust policy and/or implementation issue [MF99]. Issue An issue transaction is the action that creates the tuple of and adds it to the VVS with the issuer's intention. Transfer A transfer transaction is the action that rewrites the tuple of (in VVS) as (H<>H') to reflect the original holder H's intention. Redemption There are two redemption transactions: presentation and consumption. A presentation transaction is the action that shows the tuple of Ko Fujimura [Page 4] INTERNET-DRAFT Requirements for Generic Voucher Trading February 2001 (in VVS) to reflect the holder H's intention. In this case, the ownership of the voucher is retained when the voucher is redeemed, e.g., redemption of licenses or passports. A consumption transaction is the action that deletes the tuple of (in VVS) to reflect the holder H's intention. The ownership of the voucher may be voided or the number of times it is valid reduced when the voucher is redeemed, e.g., redemption of event tickets or telephone cards. Note that one or more of these transactions can be executed as part of the same IOTP purchase transaction. See details in Section 6. 3. VTS Requirements A VTS must meet the following requirements (1) It MUST handle diverse types of vouchers issued by different issuers. (2) It MUST prevent illegal acts such as alteration, forgery, and reproduction, and ensure privacy. (3) It MUST be practical in terms of implementation/operation cost and efficiency. Each of these requirements is discussed below in detail. 3.1 Capability of handling diversity (a) Different issuers Unlike a digital cash system that handles only the currency issued by a specific issuer such as a central bank, the system MUST handle the vouchers issued by different issuers. (b) Various types of vouchers Unlike a digital cash system that only handles a currency, the system MUST handle various types of vouchers, such as gift certificates, coupons, and loyalty points. 3.2 Ensuring security (c) Preventing forgery Voucher MUST NOT be counterfeited. Only the issuer can initiate an issue transaction. (d) Preventing alteration Voucher MUST NOT be altered during circulation except for the transfer transaction in which the voucher holder is rewritten. Only the holder can initiate a transfer transaction. (e) Preventing duplicate-redemption Voucher MUST NOT be redeemable once it has been consumed (the result of a redemption transaction). Only the holder can initiate a redemption transaction. Ko Fujimura [Page 5] INTERNET-DRAFT Requirements for Generic Voucher Trading February 2001 (f) Preventing reproduction Voucher MUST NOT be reproduced while in circulation. (g) Non-repudiation It SHOULD NOT be possible to repudiate the issuance, transfer, or redemption of a voucher when it is transferred or sold. (h) Ensuring privacy Current and previous ownership of voucher SHOULD be concealed. (i) Trust manageability If diverse types of vouchers are put into circulation, it would be difficult for users to judge whether a voucher can be trusted or not. To support such a judgment, a trust management system that automatically verifies the trust of voucher SHOULD be supported. 3.3 Ensuring practicality (j) Scalability A centralized broker who sells all types of vouchers, or centralized authority that authenticates all issuers or other participants, SHOULD NOT be assumed. A system that relies on a global, centralized organization is excessively frail; failure in the organization causes complete system failure. (k) Efficiency It MUST be possible to implement VTS efficiently. Many applications of vouchers, e.g., event ticket or transport passes, require high performance, especially when the voucher is redeemed. (l) Simplicity It SHOULD be possible to implement VTS simply. Simplicity is important to reduce the cost of implementation. It is also important in in understanding the system, which is necessary for people to trust the system. 4. GVL Requirements To satisfy the diverse requirements placed on VTS (see above), we believe that a Generic Voucher Language (GVL) that realizes various voucher properties should be introduced. This approach ensures that VTS is application independent. In this section, we mainly discuss how Promise P of the voucher can be defined in GVL. Specifying I and H is an implementation issue and can be achieved by using a public key, hash of a public key, or other names with scope rule. 4.1 Semantics (a) Validity control: The invalidation (punching) method that is Ko Fujimura [Page 6] INTERNET-DRAFT Requirements for Generic Voucher Trading February 2001 executed when the voucher is redeemed depends on the type of the voucher. For example, a loyalty point will be invalidated if the point is redeemed but a membership card can be used repeatedly regardless of the number of times presented. The language MUST be able to define how validity is modified. Additionally, the language MUST be able to define the validity period, start date and end date. (b) Transferability control: Some types of vouchers require transferability. The language MUST be able to specify if an voucher can be transferred. (c) Circulation control: Depending on the type of the voucher, various circulation requirements or restrictions must be satisfied while in circulation [F99], for example, only qualified shops can issue particular vouchers or only a certain service provider can punch (invalidate) particular vouchers. The language SHOULD be able to specify such circulation requirements. (d) Anonymity control: Different types of voucher will require different levels of anonymity. The language SHOULD be able to control the required level of anonymity. (e) Understandability: The terms and description of a voucher SHOULD be objectively understood by the participants, because this will contribute to reducing the number of disputes on the interpretation of the vouchers promised. (f) State manageability: Some types of vouchers have properties the values of which may change dynamically while in circulation, e.g., payment status, reservation status, or approval status. The language MAY support the definition of such properties. (g) Composability: Some types of vouchers consist of several sub-vouchers, which may be issued separately from the original vouchers typically because the vouchers are issued by different organizations or issued at different times. The language MAY support compound vouchers comprised of multiple sub-vouchers. 4.2 Syntax (a) To achieve consistency with other related standards shown below, the syntax of the language MUST be based on XML [XML]. (b) The language syntax MUST enable any application-specific property, e.g., seat number, flight number, etc to be defined. A schema definition language that can be translated into application-specific DTDs may be needed. 4.3 Security Ko Fujimura [Page 7] INTERNET-DRAFT Requirements for Generic Voucher Trading February 2001 (a) The language MUST provide the parameters necessary to establish security. Security requirements, however, mainly follow VTS requirements described in Section 3 rather than GVL requirements. 4.4 Efficiency (a) The vouchers may be stored in a smart card or PDA with a restricted amount of memory. Large definitions may incur long transfer and processing time, which may not be acceptable. The language SHOULD enable the efficient definition of vouchers 4.5 Coordination (a) The language specification SHOULD be consistent with the following specifications: (1) Internet Open Trading Protocol v1.0 [IOTP] (2) XML-Signature [XMLDSIG] (3) Extensible Markup Language (XML) Recommendation [XML] (4) ECML Version 2 [ECML] 5. VTP Requirements Requirements for the Voucher Trading Protocol (VTP) will be discussed in a separate document or future version of this document. 6. Application Examples This section describes, as a typical electronic commerce example involving advertisement, payment, and delivery transactions, the use of vouchers and VTS, and shows that vouchers can be used as an effective way to coordinate autonomous services that have not yet established trust among each other. Figure 2 shows a typical electronic commerce example of a consumer searching for goods or services and making a purchase: Ko Fujimura [Page 8] INTERNET-DRAFT Requirements for Generic Voucher Trading February 2001 ---------- ------------------------------------------->| Ad | | (1) Acquire a coupon | Agency | | ---------- | | (2) Send payment information ---------- | --------------------------------------->| Payment | | | Acquire a gift certificate | Handler | | | ---------- v v (3) Transfer the coupon & ---------- gift certificate ---------- | Consumer |<------------------------------------>| Merchant | ---------- Acquire an exchange ticket & ---------- ^ loyalty points | | (4) Transfer the exchange ticket ---------- ------------------------------------------->| Deliverer| Supply goods or services | Handler | ---------- Figure 2. Application example of vouchers (1) Use a search engine to find the desired goods or services and acquire a coupon from an ad agency that represents the right to purchase the goods or services at a discounted price. (2) Acquire a gift certificate from a payment handler in exchange for cash or payment information. (3) Transfer the coupon and gift certificate to the merchant, and in exchange acquire an exchange ticket and loyalty points. (4) Transfer the exchange ticket to the deliverer handler and receive the goods or services. In this example, the coupon, gift certificate, and exchange ticket each represent media coordinating the above four transactions. Note that it is not necessary to trust the participants involved in the transactions, but to trust the vouchers themselves. In other words, there is no need to exchange contracts among the participants beforehand if the vouchers themselves are trusted. Take the exchange ticket as an example; even if the delivery handler does not trust the consumer, the merchant that issued the exchange ticket is trusted, and if the VTS guarantees that there is no duplication in the trading process of the exchange ticket, there is no problem in swapping the exchange ticket for the goods or services. In the same way, even if the merchant does not trust the delivery handler, the issuance of the exchange ticket can be verified, and if the VTS Ko Fujimura [Page 9] INTERNET-DRAFT Requirements for Generic Voucher Trading February 2001 guarantees that there is no duplication in the trading process of the exchange ticket, there is no problem in swapping the exchange ticket for the goods or services (Fig. 3). In other words, if there is trust in the issuer and the VTS, trust among the participants involved in the transactions is not required. Exchange Exchange ---------- ticket ---------- ticket ---------- | Consumer |-------->| Deliverer|-------->| Merchant | | |<--------| Handler |<--------| | ---------- Goods or ---------- Goods or ---------- services services Figure 3. Coordination of untrusted participants using exchange ticket In general, it is difficult to manage the trust of individuals rather than companies, so this characteristic of VTS is especially effective. Moreover, the transactions involving vouchers have desirable features with respect to privacy protection. For example, in the above exchange ticket scenario, the consumer can designate the delivery service by himself, so the merchant does not even need to know any personal information such as the delivery address. Furthermore, by designating a convenience store etc. as the receiving point, the delivery service does not need to know the address of the consumer. 7. Q & A - Is it possible to implement a VTS using digital certificates? If transferability is not required, a voucher can be easily implemented as a digital certificate, i.e., Signed_I(I, P, H), where the phrase "Signed_I" means that the entire block is signed by the issuer's digital signature. If transferability is required, then H is changed during the transfer, i.e., the signature is broken. Additionally, online DB checking or tamper-resistant devices are required to prevent duplicate-redemption. - What is the difference from digital-cash? VTS must handle various types of vouchers, such as gift certificates, coupons, or loyalty points unlike a digital cash system which handles only currency. Additionally, vouchers are issued by different issuers. - Is it possible to support "digital property rights?" Digital property right can be represented as a voucher and it can be traded using VTS. However, some protected rendering system would be required to regenerate the digital contents securely in order to Ko Fujimura [Page 10] INTERNET-DRAFT Requirements for Generic Voucher Trading February 2001 support digital property rights. These requirements are out of scope of VTS. 8. Security Considerations Security issues are discussed in Section 3.2 and 4.3. 9. Acknowledgments I would like to thank Masayuki Terada, for his valuable comments. I would also like to thank all the active member of IETF Trade WG, especially Donald E. Eastlake 3rd, who is the chair of the WG, for his help and suggestions. 10. References [ECML] ECML Version 2, to appear. [F99] K. Fujimura, H. Kuno, M. Terada, K. Matsuyama, Y. Mizuno, and J. Sekine, "Digital-Ticket-Controlled Digital Ticket Circulation", 8th USENIX Security Symposium, August 1999. [RFC2119] S. Bradner, "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [IOTP] D. Burdett, "The Internet Open Trading Protocol", RFC2801, April 2000. [MF99] K. Matsuyama and K. Fujimura, "Distributed Digital-Ticket Management for Rights Trading System", 1st ACM Conferences on Electronic Commerce, November 1999. [T00] M. Terada, H. Kuno, M. Hanadate, and K. Fujimura, "Copy Prevention Scheme for Rights Trading Infrastructure", 4th Smart Card Research and Advanced Application Conference (CARDIS 2000), September 2000. [XML] "Extensible Mark Up Language (XML) 1.0 (Second Edition)", A W3C recommendation, , October 2000. [XMLDSIG] "XML-Signature Syntax and Processing", draft-ietf-xmldsig- core-11.txt, in RFC Editor queue for publication as Proposed Standard. Author's Address Ko Fujimura NTT Corporation 1-1 Hikari-no-oka, Yokosuka-shi, Kanagawa, 239-0847 JAPAN Phone: +81-(0)468-59-3814 Fax: +81-(0)468-59-2241 Email: fujimura@isl.ntt.co.jp Ko Fujimura [Page 11]