draft-ietf-trade-voucher-lang-06.txt   draft-ietf-trade-voucher-lang-07.txt 
Trade Working Group February 2004
INTERNET-DRAFT Ko Fujimura INTERNET-DRAFT Ko Fujimura
NTT NTT
Masayuki Terada Masayuki Terada
NTT DoCoMo NTT DoCoMo
Expires: August 2004 Donald E. Eastlake 3rd
Motorola Laboratories
Expires July 2005 January 2005
XML Voucher: Generic Voucher Language XML Voucher: Generic Voucher Language
<draft-ietf-trade-voucher-lang-06.txt> <draft-ietf-trade-voucher-lang-07.txt>
Status of This Document Status of this Memo
This document is an Internet-Draft and is in full conformance with By submitting this Internet-Draft, I certify that any applicable
all provisions of Section 10 of RFC2026. patent or other IPR claims of which I am aware have been disclosed,
or will be disclosed, and any of which I become aware will be
disclosed, in accordance with RFC 3668.
Distribution of this document is unlimited. Comments should be sent
to the author or the IETF TRADE working group
<ietf-trade@lists.elistx.com>.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet- other groups may also distribute working documents as Internet-
Drafts. Drafts.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than a "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt http://www.ietf.org/1id-abstracts.html
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html
Distribution of this document is unlimited. Please send comments to Copyright Notice
the TRADE working group at <ietf-trade@lists.elistx.com>, which may
be joined by sending a message with subject "subscribe" to <ietf-
trade-request@lists.elistx.com>.
Discussions of the TRADE working group are archived at Copyright (C) The Internet Society (2005).
http://lists.elistx.com/archives/ietf-trade.
Abstract Abstract
This document specifies rules for defining voucher properties in XML This document specifies rules for defining voucher properties in XML
syntax. A voucher is a logical entity that represents a right to syntax. A voucher is a logical entity that represents a right to
claim goods or services. A voucher can be used to transfer a claim goods or services. A voucher can be used to transfer a
wide-range of electronic-values, including coupons, tickets, loyalty wide-range of electronic-values, including coupons, tickets, loyalty
points, and gift certificates, which are often necessary to process points, and gift certificates, which are often necessary to process
in the course of payment and/or delivery transactions. in the course of payment and/or delivery transactions.
Copyright (C) The Internet Society (2004). All Rights Reserved.
Acknowledgements Acknowledgements
The following persons, in alphabetic order, contributed substantially The following persons, in alphabetic order, contributed substantially
to the material herein: to the material herein:
Donald Eastlake 3rd
Ian Grigg Ian Grigg
Renato Iannella Renato Iannella
Yoshiaki Nakajima Yoshiaki Nakajima
Table of Contents Table of Contents
Status of this Memo ...............................................1
Abstract ..........................................................1
Acknowledgments ...................................................2
Table of Contents .................................................2
1. Introduction ...................................................3 1. Introduction ...................................................3
2. Processing Model ...............................................3 2. Processing Model ...............................................3
3. Trust Model ....................................................4 3. Trust Model ....................................................4
4. Component Structure ............................................5 4. Component Structure ............................................5
5. Syntax Overview and Examples ...................................7 5. Syntax Overview and Examples ...................................7
6. Syntax and Semantics ...........................................8 6. Syntax and Semantics ...........................................8
6.1 <Voucher> ..................................................8 6.1 <Voucher> ..................................................8
6.2 <Title> ....................................................9 6.2 <Title> ....................................................9
6.3 <Description> ..............................................9 6.3 <Description> ..............................................9
6.4 <Provider> .................................................9 6.4 <Provider> .................................................9
skipping to change at page 2, line 44 skipping to change at page 2, line 38
6.7 <Collector> ...............................................10 6.7 <Collector> ...............................................10
6.8 <Value> ...................................................11 6.8 <Value> ...................................................11
6.8.1 <Ratio> .................................................12 6.8.1 <Ratio> .................................................12
6.8.2 <Fixed> .................................................12 6.8.2 <Fixed> .................................................12
6.9 <Merchandise> .............................................13 6.9 <Merchandise> .............................................13
6.10 <ValidPeriod> ............................................14 6.10 <ValidPeriod> ............................................14
6.11 <Conditions> .............................................14 6.11 <Conditions> .............................................14
7. IANA Considerations ...........................................14 7. IANA Considerations ...........................................14
8. VTS Schema Example ............................................17 8. VTS Schema Example ............................................17
9. Security Considerations .......................................17 9. Security Considerations .......................................17
10. Normative References ..........................................17
11. Informational References ......................................18
12. Author's Address ..............................................18
Full Copyright Statement ..........................................19 Normative References .............................................17
Informational References .........................................18
Author's Address .................................................19
Copyright and Disclaimer..........................................19
File name and Expiration..........................................19
1. Introduction 1. Introduction
This document, XML Voucher, specifies rules for defining voucher This document, XML Voucher, specifies rules for defining voucher
properties in XML syntax. The motivation and background of the properties in XML syntax. The motivation and background of the
specification are described in [VTS]. specification are described in [VTS].
A voucher is a logical entity that represents a certain right and A voucher is a logical entity that represents a certain right and
is logically managed by the Voucher Trading System (VTS). A voucher is logically managed by the Voucher Trading System (VTS). A voucher
is generated by the issuer, traded among users, and finally is generated by the issuer, traded among users, and finally
collected by the collector using VTS. collected by the collector using VTS.
This document defines the syntax and semantics of Voucher This document defines the syntax and semantics of Voucher
Component, which defines voucher meaning and processing rules in Component, which defines voucher meaning and processing rules in
XML syntax [XML]. A Voucher Component define the properties that XML syntax [XML]. A Voucher Component define the properties that
must be satisfied to allow the voucher to be processed by VTS or must be satisfied to allow the voucher to be processed by VTS or
other trading systems, e.g., wallet or merchant system. VTS other trading systems, e.g., wallet or merchant system. VTS
definitions and models are also defined in [VTS]. definitions and models are also defined in [VTS].
Note: This document uses "voucher" as an "instance of voucher" Note: This document uses "voucher" as an "instance of voucher"
whose meaning is defined by Voucher Component. In other words, whose meaning is defined by Voucher Component. In other words, a
multiple vouchers can be issued and managed by the VTS using the Voucher Component is NOT a voucher and multiple vouchers can be
same Voucher Component. issued and managed by the VTS using the same Voucher Component.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in
this document are to be interpreted as described in [RFC 2119] this document are to be interpreted as described in [RFC 2119]
2. Processing Model 2. Processing Model
There are several ways of implementing VTS and technologies are There are several ways of implementing VTS and technologies are
continually changing. For discount coupons or event tickets, for continually changing. For discount coupons or event tickets, for
example, the smart-card-based offline VTS is often preferred, example, the smart-card-based offline VTS is often preferred,
skipping to change at page 4, line 53 skipping to change at page 4, line 53
specified in the Voucher Component, and given as input to the specified in the Voucher Component, and given as input to the
verifier, e.g., wallet system or other software. The trust of a verifier, e.g., wallet system or other software. The trust of a
voucher is thus verified through the Voucher Component. This model voucher is thus verified through the Voucher Component. This model
enables trading partners to verify their trust in the voucher enables trading partners to verify their trust in the voucher
regardless of their trust in the partners. regardless of their trust in the partners.
This document assumes that the Voucher Component is the root of This document assumes that the Voucher Component is the root of
trust. If a malicious user could alter the Voucher Component, a trust. If a malicious user could alter the Voucher Component, a
forged voucher, could be verified as valid. forged voucher, could be verified as valid.
The Voucher Component is usually delivered from the trusted VTS When a Voucher Component is delivered from the trusted VTS
Provider, Issuer or trusted third party using a secure Provider, Issuer or trusted third party, a secure communication
communication channel, such as [XMLDSIG], [TLS], or [IPSEC]. channel, e.g., [TLS], [IPSEC], or object security, e.g.,[XMLDSIG]
Delivery of the Voucher Component is beyond the scope of this should be used to prevent from being altered during the delivery.
document.
Note: The Voucher Component does not have to be sent from the Note: The Voucher Component does not have to be sent from the
sender of the voucher. Note also that a set of trusted Voucher sender of the voucher. Note also that a set of trusted Voucher
Components can be downloaded before conducting a transaction. Components can be downloaded before conducting a transaction.
4. Component Structure 4. Component Structure
The Voucher Component provides the information needed to identify The Voucher Component provides the information needed to identify
the monetary value or merchandize rendered when the voucher is the monetary value or merchandize rendered when the voucher is
redeemed. It includes: redeemed. It includes:
skipping to change at page 7, line 34 skipping to change at page 7, line 34
(ValidPeriod)? (ValidPeriod)?
(Conditions)? (Conditions)?
</Voucher> </Voucher>
An example of a Voucher Component is described below. This is an An example of a Voucher Component is described below. This is an
example of a five dollar discount coupon for specific merchandize, example of a five dollar discount coupon for specific merchandize,
a book with ISBN number 0071355014. The coupon is valid from April a book with ISBN number 0071355014. The coupon is valid from April
1st in 2001 to March 31st in 2002. To claim this offer, one voucher 1st in 2001 to March 31st in 2002. To claim this offer, one voucher
must be spent. must be spent.
<?xml version="1.0"?> <?xml version="1.0" encoding="UTF-8"?>
<Voucher xmlns="urn:ietf:params:xml:ns:vts-lang" <Voucher xmlns="urn:ietf:params:xml:ns:vts-lang"
xmlns:vts="http://www.example.com/vts"> xmlns:vts="http://www.example.com/vts">
<Title>IOTP Book Coupon</Title> <Title>IOTP Book Coupon</Title>
<Description>$5 off IOTP Book</Description> <Description>$5 off IOTP Book</Description>
<Provider name="Voucher Exchanger 2002"> <Provider name="Voucher Exchanger 2002">
<vts:Version>VE2.31</vts:Version> <vts:Version>VE2.31</vts:Version>
</Provider> </Provider>
<Issuer name="Alice Book Center, Ltd."> <Issuer name="Alice Book Center, Ltd.">
<vts:KeyInfo> <vts:KeyInfo>
1DA8DFCF95521014BBB7171B95545E8D61AE803F 1DA8DFCF95521014BBB7171B95545E8D61AE803F
skipping to change at page 8, line 11 skipping to change at page 8, line 11
bk:isbn="0071355014"/> bk:isbn="0071355014"/>
</Merchandise> </Merchandise>
<ValidPeriod start="2002-04-01" end="2003-03-31"/> <ValidPeriod start="2002-04-01" end="2003-03-31"/>
<Conditions> <Conditions>
The value of this coupon is subject to tax. The value of this coupon is subject to tax.
</Conditions> </Conditions>
</Voucher> </Voucher>
6. Syntax and Semantics 6. Syntax and Semantics
The general structure of an XML voucher is described in Component The general structure of an XML Voucher Component is described in
Structure (section 4). This section details the Voucher Component Section 4 above. This section details the Voucher Component
features. Features described in this section MUST be implemented features. Features described in this section MUST be implemented
unless otherwise indicated. The syntax is defined via unless otherwise indicated. The syntax is defined via
[XML-Schema-1] [XML-Schema-2]. For clarity, unqualified elements in [XML-Schema-1] [XML-Schema-2]. For clarity, unqualified elements in
schema definitions are in the XML schema namespace: schema definitions are in the XML schema namespace:
xmlns="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2001/XMLSchema"
References to XML Voucher schema defined herein use the prefix References to XML Voucher schema defined herein use the prefix
"gvl" and are in the namespace: "gvl" and are in the namespace:
skipping to change at page 15, line 17 skipping to change at page 15, line 17
Registration request for the vts-lang XML schema: Registration request for the vts-lang XML schema:
URI: urn:ietf:params:xml:schema:vts-lang URI: urn:ietf:params:xml:schema:vts-lang
Registrant Contact: See the "Author's Address" section of this Registrant Contact: See the "Author's Address" section of this
document. document.
XML: XML:
BEGIN BEGIN
<?xml version="1.0"?> <?xml version="1.0" encoding="UTF-8"?>
<schema <schema
targetNamespace="urn:ietf:params:xml:ns:vts-lang" targetNamespace="urn:ietf:params:xml:ns:vts-lang"
xmlns:gvl="urn:ietf:params:xml:ns:vts-lang" xmlns:gvl="urn:ietf:params:xml:ns:vts-lang"
xmlns="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"> elementFormDefault="qualified">
<element name="Voucher" type="gvl:VoucherType"/> <element name="Voucher" type="gvl:VoucherType"/>
<complexType name="VoucherType"> <complexType name="VoucherType">
<sequence> <sequence>
skipping to change at page 17, line 31 skipping to change at page 17, line 31
Using this schema definition, the <vts:Version> can be used for Using this schema definition, the <vts:Version> can be used for
specifying the VTS version number and the <vts:KeyInfo> element can specifying the VTS version number and the <vts:KeyInfo> element can
be used for specifying the Issuer in the Voucher Component as shown be used for specifying the Issuer in the Voucher Component as shown
in Section 5. in Section 5.
9. Security Considerations 9. Security Considerations
The VTS must provide a means of preventing forgery, alteration, The VTS must provide a means of preventing forgery, alteration,
duplicate-redemption, reproduction of a voucher, and non-repudiation duplicate-redemption, reproduction of a voucher, and non-repudiation
of transactions as described in Section 3.2 of [VTS]. These security of transactions as described in Section 3.2 of [VTS]. This will
requirements, however, mainly follow the VTS plug-ins and their commonly require the presence of a unique serial number or the like
protocols. This document assumes that the VTS plug-ins are trusted in each Voucher instance, usually outside the Voucher Component.
and installed by some means, e.g., manually checked like other These security requirements, however, mainly follow the VTS plug-ins
download applications. and their protocols. This document assumes that the VTS plug-ins are
trusted and installed by some means, e.g., manually checked like
other download applications.
The Voucher Component, however, defines restrictions on VTS Provider The Voucher Component, however, defines restrictions on VTS Provider
(or VTS plug-in), and if this information is altered, incorrect VTS (or VTS plug-in), and, if this information is altered, incorrect VTS
plug-ins not accepted by the issuer could be used, and a forged plug-ins not accepted by the issuer could be used, allowing a forged
voucher could be verified as if it were valid. To prevent this voucher to be verified as if it were valid. To prevent this
situation, the Voucher Component should be acquired securely, e.g., situation, the Voucher Component should be stored and acquired
downloaded from a trusted party using a secure communication channel, securely, e.g., downloaded from a trusted party using a secure
such as [TLS], or [IPSEC], or secured by the digital signature of a communication channel, such as [TLS], or [IPSEC], or secured by the
trusted party. digital signature of a trusted party [XMLDSIG].
10. Normative References Normative References
[ISO4217] "Codes for the representation of currencies and funds", [ISO4217] "Codes for the representation of currencies and funds",
ISO 4217, 1995. ISO 4217, 1995.
[RFC2119] S. Bradner, "Key words for use in RFCs to Indicate [RFC2119] S. Bradner, "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[URN] R. Moats, "URN Syntax", RFC2141, May 1997. [URN] R. Moats, "URN Syntax", RFC2141, May 1997.
[URN-NS-IETF] R. Moats, "A URN Namespace for IETF Documents", [URN-NS-IETF] R. Moats, "A URN Namespace for IETF Documents",
skipping to change at page 18, line 22 skipping to change at page 18, line 25
January 2004. January 2004.
[XML-Schema-1] H. Thompson, D. Beech, M. Maloney, and [XML-Schema-1] H. Thompson, D. Beech, M. Maloney, and
N. Mendelsohn, "XML Schema Part 1: Structures W3C Recommendation.", N. Mendelsohn, "XML Schema Part 1: Structures W3C Recommendation.",
<http://www.w3.org/TR/xmlschema-1/>, May 2001. <http://www.w3.org/TR/xmlschema-1/>, May 2001.
[XML-Schema-2] P. Biron and A Malhotra, "XML Schema Part 2: [XML-Schema-2] P. Biron and A Malhotra, "XML Schema Part 2:
Datatypes W3C Recommendation.", Datatypes W3C Recommendation.",
<http://www.w3.org/TR/xmlschema-2/>, May 2001. <http://www.w3.org/TR/xmlschema-2/>, May 2001.
11. Informational References Informational References
[VTS] K. Fujimura, D Eastlake, "Requirements and Design for Voucher [VTS] K. Fujimura, D Eastlake, "Requirements and Design for Voucher
Trading System (VTS)", RFC3506, March 2003. Trading System (VTS)", RFC3506, March 2003.
[IPSEC] R. Thayer, N. Doraswamy, and R. Glenn, "IP Security Document [IPSEC] R. Thayer, N. Doraswamy, and R. Glenn, "IP Security Document
Roadmap", RFC2411, November 1998 Roadmap", RFC2411, November 1998
[TLS] T. Dierks, C. Allen, "The TLS Protocol Version 1.0", RFC2246, [TLS] T. Dierks, C. Allen, "The TLS Protocol Version 1.0", RFC2246,
January 1999. January 1999.
[VTS-API] M. Terada and K. Fujimura, "Voucher Trading System [VTS-API] M. Terada and K. Fujimura, "Voucher Trading System
Application Programming Interface (VTS-API)", Application Programming Interface (VTS-API)",
draft-ietf-trade-voucher-vtsapi-06.txt, February 2004. draft-ietf-trade-voucher-vtsapi-07.txt, January 2005.
[XMLDSIG] D. Eastlake, J. Reagle, and D. Solo, "XML-Signature [XMLDSIG] D. Eastlake, J. Reagle, and D. Solo, "XML-Signature
Syntax and Processing", RFC3275, March 2002. Syntax and Processing", RFC3275, March 2002.
12. Author's Address Author's Address
Ko Fujimura Ko Fujimura
NTT Corporation NTT Corporation
1-1 Hikari-no-oka, Yokosuka-shi, Kanagawa, 239-0847 JAPAN 1-1 Hikari-no-oka, Yokosuka-shi, Kanagawa, 239-0847 JAPAN
Phone: +81-(0)46-859-3814 Phone: +81-(0)46-859-3053
Fax: +81-(0)46-859-8329 Fax: +81-(0)46-855-1730
Email: fujimura@isl.ntt.co.jp Email: fujimura.ko@lab.ntt.co.jp
Masayuki Terada Masayuki Terada
NTT DoCoMo, Inc. NTT DoCoMo, Inc.
3-5 Hikari-no-oka, Yokosuka-shi, Kanagawa, 239-8536 JAPAN 3-5 Hikari-no-oka, Yokosuka-shi, Kanagawa, 239-8536 JAPAN
Phone: +81-(0)46-840-3809 Phone: +81-(0)46-840-3809
Fax: +81-(0)46-840-3364 Fax: +81-(0)46-840-3705
Email: te@mml.yrp.nttdocomo.co.jp Email: te@rex.yrp.nttdocomo.co.jp
Full Copyright Statement Donald E. Eastlake 3rd
Motorola Laboratories
155 Beaver Street
Milford, MA 01757 USA
Phone: 1-508-786-7554 (work)
1-508-634-2066 (home)
EMail: Donald.Eastlake@motorola.com
Copyright (C) The Internet Society (2004). All Rights Reserved. Copyright and Disclaimer
This document and translations of it may be copied and furnished to Copyright (C) The Internet Society 2005. This document is subject to
others, and derivative works that comment on or otherwise explain it the rights, licenses and restrictions contained in BCP 78 and except
or assist in its implementation may be prepared, copied, published as set forth therein, the authors retain all their rights.
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be This document and the information contained herein are provided on an
revoked by the Internet Society or its successors or assigns. "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
This document and the information contained herein is provided on an File name and Expiration
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING This file is draft-ietf-trade-voucher-lang-07.txt.
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF It expires July 2005.
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
 End of changes. 

This html diff was produced by rfcdiff 1.25, available from http://www.levkowetz.com/ietf/tools/rfcdiff/