Long-term Archive And Notary                           A. Jerman Blazic
Services (LTANS)                                                 SETCCE
Internet Draft                                                S. Saljic
Intended status: Standards Track                                 SETCCE
Expires: November 27, 2008                                   T. Gondrom
                                                  Open Text Corporation
                                                           May 27, 2008

             Extensible Markup Language Evidence Record Syntax
                      draft-ietf-ltans-xmlers-02.txt


Status of this Memo

   By submitting this Internet-Draft, each author represents that any
   applicable patent or other IPR claims of which he or she is aware
   have been or will be disclosed, and any of which he or she becomes
   aware will be disclosed, in accordance with Section 6 of BCP 79.

   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.

   This Internet-Draft will expire on November 26, 2008.

Copyright Notice



Jerman Blazic, et. al. Expires November 6, 2008                [Page 1]


Internet-Draft                  XMLERS                         May 2008


   Copyright (C) The IETF Trust (2008).

Abstract

   In many scenarios, users must be able to demonstrate the (time)
   existence, integrity and validity of data including signed data for
   long or undetermined period of time. This document specifies XML
   syntax and processing rules for creating evidence for long-term non-
   repudiation of existence of data. ERS-XML incorporates alternative
   syntax and processing rules to ASN.1 ERS syntax by using XML
   language.

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].





















Jerman Blazic, et. al. Expires November 6, 2008                [Page 2]


Internet-Draft                  XMLERS                         May 2008


Table of Contents


   1. Introduction...................................................5
      1.1. Motivation................................................5
      1.2. General Overview and Requirements.........................7
      1.3. Terminology...............................................8
      1.4. Conventions Used in This Document........................10
   2. Evidence Record...............................................10
      2.1. Evidence Record Structure................................11
      2.2. Archive Timestamp Sequence and Archive Timestamp Chain
      Structure.....................................................13
         2.2.1. Digest Method.......................................14
      2.3. Archive Timestamp Structure..............................15
         2.3.1. Time-Stamp Token....................................16
         2.3.2. Hash Tree...........................................16
         2.3.3. Merkle Hash-Tree....................................18
            2.3.3.1. Generation of a Merkle Hash-Tree for a Group of
            Archive Objects.........................................19
            2.3.3.2. Generation of the Reduced Hash Tree for an Archive
            Object..................................................21
            2.3.3.3. Calculation of the root hash value from a reduced
            hash tree...............................................22
         2.3.4. Cryptographic Information...........................22
   3. Generation of an Evidence Record..............................23
      3.1. Initial Archive Timestamp................................23
      3.2. Renewal Process..........................................25
         3.2.1. Time-Stamp Renewal..................................25
         3.2.2. Hash Tree Renewal...................................26
   4. Verification of an Evidence Record............................28
   5. Encryption....................................................30
   6. XSD Schema for the Evidence Record............................31
   7. Security Considerations.......................................35
   8. IANA Considerations...........................................35
   9. Conclusions...................................................35
   10. Acknowledgments..............................................35


Jerman Blazic, et. al. Expires November 6, 2008                [Page 3]


Internet-Draft                  XMLERS                         May 2008


   APPENDIX A: First Appendix.......................................36
   11. References...................................................37
      11.1. Normative References....................................38
      11.2. Informative References..................................38
   Author's Addresses...............................................38
   Intellectual Property Statement..................................39
   Disclaimer of Validity...........................................40































Jerman Blazic, et. al. Expires November 6, 2008                [Page 4]


Internet-Draft                  XMLERS                         May 2008




1. Introduction

   The purpose of the document is to define XML Schema and processing
   rules for Evidence Record Syntax in XML format. Document is related
   to initial ASN.1 syntax for Evidence Record Syntax.

1.1. Motivation

   The evolution of electronic commerce and electronic data exchange in
   general requires introduction of non-repudiable proof of data
   existence as well as data integrity and authenticity. Such data and
   non-repudiable proof of existence must endure for long periods of
   time, even when information to prove data existence and integrity
   weakens or ceases to exist. Mechanisms such as digital signatures do
   not provide absolute reliability on a long term basis. Algorithms and
   cryptographic material used to create a signature can become weak in
   course of time and information needed to validate digital signatures
   may became compromised or simply cease to exist due to for example
   decomposing certificate service provider. Providing a stable
   environment for electronic data on a long term basis requires the
   introduction of additional means to continually provide an
   appropriate level of trust in evidence on data existence, integrity
   and authenticity.

   All integrity and authenticity related techniques used today suffer
   from the same problem of time related reliability degradation
   including techniques for time stamping, which are generally
   recognized as data existence proofs. Over long periods of time
   algorithms used may become weak or encryption keys compromised. Some
   of the problems might not even be technically related like
   decomposing time stamping authority. To create a stable environment
   where proof of existence and integrity can endure well into the
   future a new technical approach must be used.



Jerman Blazic, et. al. Expires November 6, 2008                [Page 5]


Internet-Draft                  XMLERS                         May 2008


   Long term non-repudiation of data existence and demonstration of data
   integrity techniques have been already introduced for example by long
   term signature syntaxes like [RFC3126]. Long term signature syntaxes
   address mostly the long term endurance of digital signatures, while
   evidence record syntax broadens this approach for data of any type or
   format.

   The XMLERS syntax is based on Evidence Record Syntax as defined in
   [RFC4998] and is addressing the same problem of long term non-
   repudiable proof of data existence and demonstration of data
   integrity on long term basis. XMLERS does not supplement the ERS
   syntax. It introduces the same approach but in a different format.

   The use of eXtensible Markup Language (XML) format is already
   recognized by a wide range of applications and services and is being
   selected as the de-facto standard for many applications based on data
   exchange. The introduction of evidence record syntax in XML format
   broadens the horizon of XML use and presents a harmonized syntax with
   a growing community of XML based standards.

   Due to the differences in XML processing rules and other
   characteristics of XML language, XMLERS does not present a direct
   transformation of ERS in ASN.1 syntax. The XMLERS syntax is based on
   different processing rules as defined in [RFC4998] and it does not
   support for example import of ASN.1 values in XML tags. Creating
   evidence records in XML syntax must follow the steps as defined in
   this draft. XMLERS is a standalone draft and is based on [RFC4998]
   conceptually only.

   Evidence Record Syntax in XML format is based on long term archive
   service requirements as defined in [RFC4810]. XMLERS syntax delivers
   the same (level of) non-repudiable proof of data existence as ASN.1
   ERS. The XML syntax supports archive data grouping (and de-grouping)
   together with simple or complex time stamp renewal process. Evidence
   records can be embedded in the data itself or stored separately as a
   standalone XML file.


Jerman Blazic, et. al. Expires November 6, 2008                [Page 6]


Internet-Draft                  XMLERS                         May 2008


1.2. General Overview and Requirements

   ERSXML draft (draft-ietf-ltans-xmlers-02) specifies XML syntax and
   processing rules for creating evidence for long-term non-repudiation
   of existence of data in a unit called "Evidence Record". The XMLERS
   syntax is defined to meet the requirements for data structures as set
   out in [RFC4810]. This document also refers to ASN.1 ERS
   specification as defined in [RFC4998].

   An Evidence Record may be generated and maintained for a single data
   object or a group of data objects that form an archive object. Data
   object (binary chunk or a file) may represent any kind of document or
   part of it. Dependencies among data objects, their validation or any
   other relationship than "a data object is a part of particular
   archived object" are out of the scope of this draft.

   Evidence Record maintains a close relationship to time stamping
   techniques. However, timestamps as defined in [RFC3161], can cover
   only a single unit of data and do not provide processing rules for
   maintaining a long term stability of timestamps applied over a data
   object. Evidence for an archive object is created by acquiring a
   timestamp from a trustworthy authority for a specific value that is
   unambiguously related to a single or more data objects. The Evidence
   Record syntax enables processing of several archive objects within a
   single processing pass and by acquiring only one timestamp protects
   all archive objects.

   Besides a timestamp other artifacts are also preserved in an Evidence
   Record: data necessary to verify the relationship between a time-
   stamped value and a specific data object, packed into a structure
   called a "hash-tree"; and long term proofs for the formal
   verification of included timestamp(s).

   Due to the fact that digest algorithms or cryptographic methods used
   may become weak or that certificates used within a timestamp (and
   signed data) may be revoked or expired, the collected evidence data


Jerman Blazic, et. al. Expires November 6, 2008                [Page 7]


Internet-Draft                  XMLERS                         May 2008


   must be monitored and renewed before such event occurs. Procedures
   for the generation and renewing of such evidences are already
   specified within the [RFC4998], but they depend on defined ASN.1 data
   structures. For the purpose of renewal of the evidence, digest values
   of ASN.1 formatted data must be calculated and used in further
   processing. Beside replacing an ASN.1 scheme with an XML scheme, this
   document also introduces XML based procedures and processing rules
   for the creation and renewal of evidence data.

1.3. Terminology

   Archive data object: Data unit that is archived and has to be
   preserved for a long time by the Long-term Archive Service.

   Archive data object group: A multitude of (archive) data objects,
   which for some reason (logically) belong together, e.g. a document
   file and a signature file could be an archive data object group,
   which represent signed data.

   Archive Timestamp (ATS): An Archive Timestamp contains a time-stamp
   token, useful data for validation and potentially a list of hash
   values. The basic idea is to time-stamp a specific value, constructed
   from significant values (e.g. hash value of a list of hash values of
   documents), which are unambiguously related to the protected data
   objects.

   Archive Timestamp Chain (ATSC): holds a sequence of Archive
   Timestamps generated during the preservation period.

   Archive Timestamp Sequence (ATSSeq): is a sequence of Archive
   Timestamp Chains.

   Canonicalization: Processing rules for transforming an XML document
   into its canonical form. Two XML document may have different physical
   representations, but they may have the same canonical form. For



Jerman Blazic, et. al. Expires November 6, 2008                [Page 8]


Internet-Draft                  XMLERS                         May 2008


   example a sort order of attributes does not change the meaning of the
   document as defined in [XMLC14N].

   Cryptographic Information: Data or part of data related to the
   validation process of signed data, e.g. digital certificates, digital
   certificate chains, certificate revocation list, etc.

   Digest Method: Digest method is an identifier for a digest algorithm,
   which is a strong one-way function, for which it is computationally
   infeasible to find an input that corresponds to a given output or to
   find two different input values that correspond to the same output.
   Digest algorithm transforms input data into a short value of fixed
   length. The output is called digest value, hash value or data
   fingerprint.

   Evidence: Information that may be used to resolve a dispute about
   various aspects of authenticity, validity and existence of archived
   data objects.

   Evidence record: Collection of evidence compiled for one or more
   given archived data objects over time. An evidence record includes
   ordered collection of ATS's, which are grouped into ATSC and ATSSeq.

   Long-term Archive Service (LTA): A service responsible for
   generation, collection and maintenance (renewal) of evidence data. A
   LTA service may also preserve data for long periods of time, i.e.
   storage of archived data objects and evidence, etc.

   Hash Tree: Collection of significant values of protected objects
   (input objects and generated evidence within archival period). For
   that purpose a Merkle Hash Tree [MER1980] may be constructed and
   reduced for each archive object.

   Reduced hash-tree: The process of reducing a Merkle hash-tree
   [MER1980] to a list of lists of hash values. This is the basis of
   storing the evidence for a single data object.


Jerman Blazic, et. al. Expires November 6, 2008                [Page 9]


Internet-Draft                  XMLERS                         May 2008


   Timestamp (TS): A cryptographically secure confirmation generated by
   a Time Stamping Authority (TSA) [RFC3161] specifies a structure for
   timestamps and a protocol for communicating with a Timestamp
   Authority. Besides this, other data structures and protocols may also
   be appropriate, such as defined in [ISO-18014-1.2002], [ISO-18014-
   2.2002], [ISO-18014-3.2004], and [ANSI.X9-95.2005].

   According to the [RFC4998] specification an Archive Timestamp relates
   to a data object, if the hash value of this data object is part of
   the first hash value list of the Archive Timestamp. An Archive
   Timestamp relates to a data object group, if it relates to every data
   object of the group and no other data objects.

1.4. 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].

2. Evidence Record

   An Evidence Record is a unit of data, which is to be used to prove
   the existence of an archived object (a single data object or a group
   of data objects) at a certain time. It is possible to store Evidence
   Record separately from the archived object or to integrate it into
   the data itself.

   Evidence Record Syntax enables processing of several archive objects
   (group processing) with a single process and by acquiring only one
   timestamp to protect many archive objects, without a need to access
   any other archive objects or their evidence records while
   demonstrating the validity for a particular archive object from the
   group.

   The Evidence Record contains one or several Archive Time-Stamps
   (ATS). An ATS contains a time-stamp token and possibly useful data


Jerman Blazic, et. al. Expires November 6, 2008               [Page 10]


Internet-Draft                  XMLERS                         May 2008


   for validation, like certificates, CRLs or OCSP responses and also
   specific attributes such as service policies. Initially, an ATS is
   acquired and later, before it expires or becomes invalid, a new ATS
   is generated, which prolongs the validity of the archived object (of
   its data objects together with all previously generated archive time-
   stamps). This process must continue during the desired archiving
   period.

2.1. Evidence Record Structure

   In XML syntax the Evidence Record is represented by the
   <EvidenceRecord> element, which has the following structure (where
   "+" denotes one or more occurrences and "*" denotes zero or more
   occurrences):

   <EvidenceRecord>
      <Version />
      <EncryptionInformation>
         <EncryptionInformationType>
         <EncryptionInformationValue>
      </EncryptionInformation> *
      <ArchiveTimeStampSequence>
         <ArchiveTimeStampChain Order>
            <DigestMethod /> +
            <CanonicalizationMethod /> +
            <ArchiveTimeStamp Order>
               <HashTree /> *
               <TimeStamp /> +
               <CryptographicInformation /> *
               <Attributes /> *
            </ArchiveTimeStamp>) +
         </ArchiveTimeStampChain> +
      </ArchiveTimeStampSequence> +
   </EvidenceRecord>

   The XML tags have the following meanings:


Jerman Blazic, et. al. Expires November 6, 2008               [Page 11]


Internet-Draft                  XMLERS                         May 2008


     <Version> tag indicates the syntax version, for compatibility with
     future revisions of this specification and to distinguish it from
     earlier non-conformant or proprietary versions of the XMLERS.
     Current version of the XMLERS syntax is 02.

     <ArchiveTimeStampSequence> is a sequence of
     <ArchiveTimeStampChain>.

     <CanonicalizationMethod> is a required element that specifies the
     canonicalization algorithm applied to the
     <ArchiveTimeStampSequence> or <ArchiveTimeStamp> element prior to
     performing digest value calculations.

     <ArchiveTimeStampChain> holds a sequence of Archive Timestamps
     generated during the preservation period. Details on Archive
     Timestamp Chains and Archive Timestamp Sequences are described in
     section 2.3. The sequences of Archive Timestamp Chains and Archive
     Timestamps are ordered and the order must be indicated with "Order"
     attribute of the <ArchiveTimeStampChain> and <ArchiveTimeStamp>
     element.

     <DigestMethod> tag identifies the digest algorithms used to
     calculate digest values over the archival period within an archive
     time-stamp chain from archive data object(s), archive time-stamps,
     archive time-stamp sequence and within time-stamp token.

     <HashTree> tag holds a value or a structure of a reduced hash
     tree(s) described in section 2.3.2.

     <TimeStamp> tag holds a time stamp token provided by the Time-
     Stamping Authority.

     <CryptographicInformation> tag allows the storage of data needed in
     the process of archive time stamp token validation, when such data
     is not provided by the time stamp token itself (e.g. time stamp in
     XML format). This could include possible Trust Anchors,


Jerman Blazic, et. al. Expires November 6, 2008               [Page 12]


Internet-Draft                  XMLERS                         May 2008


     certificates, revocation information or the current definition of
     the suitability of cryptographic algorithms, past and present.
     These items may be added based on the policy used. This data is
     protected by successive time-stamps in the sequence of the time-
     stamps.

     <Attributes> tag contains additional information that may be
     provided by an LTA used for the renewal process. An example of
     additional information may be processing (renewal) policies, which
     are relevant for document(s) preservation and evidence validation
     at a later stage.

     <EncryptionInformation> tag holds information on cryptographic
     algorithms and material used to encrypt archive data. This optional
     information is needed to unambiguously re-encrypt data objects.
     When omitted, data objects are not encrypted or non-repudiation
     proof is not needed for the unencrypted data.

2.2. Archive Timestamp Sequence and Archive Timestamp Chain Structure

   <ArchiveTimeStampSequence> element contains an ordered sequence of
   <ArchiveTimeStampChain> elements and <ArchiveTimeStampChain> element
   an ordered sequence of <ArchiveTimeStamp> elements. Order is
   indicated with the Order attribute.

   The first <ArchiveTimeStampChain> element and its first
   <ArchiveTimeStamp> are generated at the beginning of the archival
   period, both having values of the Order attribute equal 1.

   When this initial <ArchiveTimeStamp> must be renewed, a new
   <ArchiveTimeStamp> is generated and depending on the generation
   process, it is either placed:

   o  as <ArchiveTimeStamp> element in the same <ArchiveTimeStampChain>
      element (see Time-Stamp Renewal) or



Jerman Blazic, et. al. Expires November 6, 2008               [Page 13]


Internet-Draft                  XMLERS                         May 2008


   o  as the first element in the sequence (see Hash Tree Renewal)in a
      newly created <ArchiveTimeStampChain> element.

   The value of its Order attribute is increased by one, and also if a
   new chain is created its Order attribute is increased by one relative
   to the one in the previous chain.

   Generally when a new ATS is created it is placed into the last ATSC
   as the last child element with an increased Order value of 1 from the
   preceding ATS or a new ATSC is created with increased Order value of
   1 from the preceeding ATSC element and the new ATS with the Order
   number 1 is placed as its first child element.

   The ATS with the largest Order attribute value within the ATSC with
   the largest Order attribute value is the latest ATS and must be valid
   at the present time.

2.2.1. Digest Method

   Digest method is a required element that identifies the digest
   algorithm used to digest the archive data object(s) and the
   previously generated long-term evidence over the archival period. It
   is specified at the level of the ATSC and indicates the digest
   algorithm that MUST be used for all digest value calculations related
   to the archive timestamps within this chain.

   Digest algorithms used for evidence record correspond to the
   algorithms used for time stamp token(s) within a single ATSC. When
   algorithms used by TSA are changed (e.g. upgraded) a new ATSC must be
   started using new digest algorithm. New hash values used for new ATSC
   must be obtained both, for archive data object(s) and for previous
   ATSCs (see detailed description in section 3.2. ).

   Within an archive time-stamp chain, depending on the case involved,
   following digest value(s) are calculated:



Jerman Blazic, et. al. Expires November 6, 2008               [Page 14]


Internet-Draft                  XMLERS                         May 2008


   1. digest value(s) of archived data object(s) at the beginning of the
      archival period or when performing hash-tree renewal

   2. digest value(s) of previous ATS(s) when performing timestamp
      renewal

   3. digest value(s) of previous ATSC(s) when performing hash tree
      renewal

   For cases 2) and 3) calculation of the digest value of an XML element
   is needed. Before performing digest value calculation of an XML
   element, a proper binary representation must be extracted from its
   (abstract) XML data presentation. The binary representation is
   determined by UTF-8 encoding and canonicalization of the XML element.
   The XML element includes the entire text of the start and end tags as
   well as all descendant markup and character data (i.e., the text and
   sub-elements) between those tags.

2.3. Archive Timestamp Structure

   The process of construction of an ATS must unambiguously bind the
   archived object and the time-stamped value and thus prove that the
   archived object existed and was identical, at the time of the
   timestamp, to the currently present archived object (at the time of
   verification).

   Therefore an ATS is a collection of the time-stamp token, an optional
   structure (a hash tree) for digest values of objects that were
   protected with that time-stamp token and optional structures
   (cryptographic information) that store additional data needed for
   formal verification of the time-stamp token, such as certificate
   chain or certificate revocation list.

   For the initial ATS the value to be time-stamped must be
   unambiguously related to the archived object (to all of its data
   objects). When the same digest algorithm is used with the successive


Jerman Blazic, et. al. Expires November 6, 2008               [Page 15]


Internet-Draft                  XMLERS                         May 2008


   time-stamps (in the renewal process), it is enough that the time-
   stamped value is related only to the digest value of the last
   (previous) ATS. When a different digest algorithm is used in the
   renewal process, the time-stamped value must be unambiguously related
   to the archive object and all previously created ATSCs. Renewal
   process is described in detail in section 3.2. .

2.3.1. Time-Stamp Token

   Time-Stamp is an attestation generated by a TSA that a data item
   existed at a certain time. For example, [RFC3161] specifies a
   structure for signed time-stamp tokens in ASN.1 format. The following
   structure example (reference to the Entrust XML Schema for time-
   stamp) is a digital signature compliant to XMLDsig specification
   containing time-stamp specific data, such as time-stamped value and
   time within <Object> element of a signature.

   <element name="TimeStampInfo">
      <complexType>
         <sequence>
            <element ref="ts:Policy" />
            <element ref="ts:Digest" />
            <element ref="ts:SerialNumber" minOccurs="0" />
            <element ref="ts:CreationTime" />
            <element ref="ts:Accuracy" minOccurs="0" />
            <element ref="ts:Ordering" minOccurs="0" />
            <element ref="ts:Nonce" minOccurs="0" />
            <element ref="ts:Extensions" minOccurs="0" />
         </sequence>
      </complexType>
   </element>

2.3.2. Hash Tree

   The time-stamping service may be, for a large number of archived
   objects, expensive and time-demanding, so the LTA may profit from


Jerman Blazic, et. al. Expires November 6, 2008               [Page 16]


Internet-Draft                  XMLERS                         May 2008


   acquiring one time-stamp for many archived objects, which are not
   otherwise related to each other. For that purpose a Merkle Hash Tree
   [MER1980] may be constructed and reduced for each archive object.

   Hash tree structure is a container for significant values, needed to
   unambiguously relate a time-stamped value to protected data objects,
   and is represented by the <HashTree> element.

   The lists of digest values are generated by reduction of an ordered
   Merkle hash-tree. The leaves of this hash-tree are the digest values
   of the data objects to be time-stamped. Every inner node of the tree
   contains one digest value, which is generated by digesting the binary
   sorted concatenation of the children nodes (leaves). The root digest
   value, which represents unambiguously all data objects, is time-
   stamped.

   Note that there are no restrictions to the quantity of hash value
   lists and of their length. Also note that it is profitable but not
   required to build hash-trees and reduce them. An Archive Time-Stamp
   may consist only of one list of hash-values and a time-stamp or in
   the extreme case, only a time-stamp with no hash value lists.

   A sample of lists of hash values within the Content node value:

   <Sequence>
      <DigestValue>5XQCAGgwJL2WZ6nv2OSGYlRFpK8=</DigestValue>
      <DigestValue>wyFrW58ATzRch7VUPNY2P+75Q/I=</DigestValue>
      <DigestValue>woCvx62tw0uc24v51xtNNxld5Kw=</DigestValue>
      <DigestValue>7N2lphOrGx+/PCxtGwzbKIj+InQ=</DigestValue>
      <DigestValue>zbCNhmQv+8kRo9W/0YedrpeZ1a8=</DigestValue>
      <DigestValue>ThuhSOZhNj42vsIRg38epxj9qVo=</DigestValue>
   </Sequence>
   <Sequence>
      <DigestValue>FX7AgSsZ0kaW8fHWi4BYDkAkZS0=</DigestValue>
   </Sequence>
   <Sequence>


Jerman Blazic, et. al. Expires November 6, 2008               [Page 17]


Internet-Draft                  XMLERS                         May 2008


      <DigestValue>tWl/o/er7kGwIeip4g+xvzShMno=</DigestValue>
   </Sequence>
   <Sequence>
      <DigestValue>+bY32LFVm/ynJj6TZss5J6BzYwI=</DigestValue>
   </Sequence>
   <Sequence>
      <DigestValue>Eu05AI8VVqFkddHYyYXMs8cjXcU=</DigestValue>
   </Sequence>

   This sample represents a reduced hash tree. The first sequence (input
   list) contains 6 digest values, which indicate 6 hash values of data
   objects to be archived with archive time-stamp element. Sequences
   that follow the input list are used to calculate the final digest
   value to be time-stamped. The reduced tree is result of reducing a
   Merkle hash-tree as described in chapter 2.3.3. The digest values are
   always represented as encoded base64 character data.

2.3.3. Merkle Hash-Tree

   A hash tree is a tree of digest values in which the leaves are hashes
   of data blocks in, for instance, a file or set of files. Nodes
   further up in the tree are the hashes of their respective children.
   At the top of a hash tree is the root hash value.

   From Merkle Hash-Tree for each leaf a very small sub tree may be
   extracted (a reduced tree), that holds enough information to
   unambiguously bind the leaf value with the root hash value. After the
   group processing of several archive objects (ie the calculation of
   the root hash value, that unambiguously binds together all archive
   objects, was time-stamped), for each archive object a reduced tree is
   saved within its evidence record (ie a hash tree within the last
   ATS).






Jerman Blazic, et. al. Expires November 6, 2008               [Page 18]


Internet-Draft                  XMLERS                         May 2008


2.3.3.1. Generation of a Merkle Hash-Tree for a Group of Archive Objects

   The Merkle Hash-Tree for a group of archive objects is built from
   bottom to the root. First are collected the leaves of the tree. The
   leaves are digest values of archive objects:

   1. Collect archive objects and for each archive object its
      corresponding data objects.

   2. Calculate hash values of the archive objects and put them into
      input list as follows: a digest value of an archive object is the
      digest value of its data object, if there is only one data object;
      for more than one data object a digest value is the digest value
      of binary sorted, concatenated digest values of all its containing
      data objects. Note that for some hash values on the input list
      (archive objects having more than one data object) also lists of
      their sub-hash values are stored.

   3. Group together items in the input list by N (to make binary tree
      in pairs) and for each group: binary ascending sort, concatenate
      and calculate hash values with algorithm H. The result is a new
      input list.

   4. Repeat step 3, until only one hash value is left; this is the root
      value of the hash tree to be time-stamped.

   Example: The input list with 18 hashes, where the h'1 is generated
   for a group of data objects (d4, d5, d6 and d7) and has been grouped
   by 3. The group could be of any size (2, 3...). It is also possible
   to extend the tree with "dummy" values; to make every node having the
   same number of children.







Jerman Blazic, et. al. Expires November 6, 2008               [Page 19]


Internet-Draft                  XMLERS                         May 2008


                    d1  -> h1 \
                               \
                    d2  -> h2  |-> h''1
       G1                      /       \
   +--------+       d3  -> h3 /         \
   |d4 -> h4|\                           \
   |        | \     --------             |
   |d5 -> h5|  \                         |
   |        |  | -> h'1       \          |
   |d6 -> h6|  /               \         |
   |        | /     d8  -> h8  |-> h''2  |-> h'''1
   |d7 -> h7|/                 /         |        \
   +--------+       d9  -> h9 /          |         \
                                         |         |
                    --------             |         |
                                         /         |
                    d10 -> h10\         /          |
                               \       /           |
                    d11 -> h11 |-> h''3            |
                               /                   |
                    d12 -> h12/                    |
                                                   |-> root hash value
                    --------                       |
                                                   |
                    d13 -> h13\                    |
                               \                   |
                    d14 -> h14 |-> h''4            |
                               /       \           |
                    d15 -> h15/         \          /
                                         \        /
                    ---------            |-> h'''2
                                         /
                    d16 -> h16\         /
                               \       /
                    d17 -> h17 |-> h''5
                               /


Jerman Blazic, et. al. Expires November 6, 2008               [Page 20]


Internet-Draft                  XMLERS                         May 2008


                    d18 -> h18/

               Figure 1 Generation of the Reduced Hash Tree.

2.3.3.2. Generation of the Reduced Hash Tree for an Archive Object

   The following procedure describes generation of the reduced hash tree
   for an archive object:

   1. For a selected archive object generate the first sequence of the
      reduced tree, which contains the list of hash values of the data
      objects contained in the archive object (one or more). Select the
      node with the hash value of the archive object.

   2. Select all neighboring nodes, which have the same parent as
      currently selected node and add their hash values as a new
      sequence to the reduced tree. Select its parent node.

   3. Repeat step 2 until the root is reached. Note that parent nodes
      are not saved in the list as they are computable.

   Reduced Hash tree for data group (from the previous example,
   presented in Figure 1):

   <Sequence>
      < DigestValue >h4</ DigestValue >
      < DigestValue >h5</ DigestValue >
      < DigestValue >h6</ DigestValue >
      < DigestValue >h7</ DigestValue >
   </Sequence>
   <Sequence>
      < DigestValue >h8</ DigestValue >
      < DigestValue >h9</ DigestValue >
   </Sequence>
   <Sequence>
      < DigestValue >h''1</ DigestValue >


Jerman Blazic, et. al. Expires November 6, 2008               [Page 21]


Internet-Draft                  XMLERS                         May 2008


      < DigestValue >h''3</ DigestValue >
   </Sequence>
   <Sequence>
      < DigestValue >h'''2</ DigestValue >
   </Sequence>

2.3.3.3. Calculation of the root hash value from a reduced hash tree

   The following procedure describes generation of the root hash value
   from a reduced hash tree:

   1. Take the first sequence from a reduced hash tree, sort hash items,
      concatenate them and calculate a hash value with algorithm H (the
      one used for creation of the hash tree).

   2. Remove this sequence from the reduced hash tree.

   3. If a reduced hash tree is not empty, add previously calculated
      hash value to the first sequence and go to step 1. If a reduced
      hash tree is empty, then the last calculated hash value is the
      root hash value.

2.3.4. Cryptographic Information

   Digital certificates, CRLs or OCSP-Responses needed to verify the
   time-stamp token should be stored in the time-stamp token itself.
   When this is not possible, such data may be stored in
   <CryptographicInformation> element (as a node value of its <Content>
   element).

   The attribute Type is optional and is used to store processing
   information about type of stored cryptographic information.






Jerman Blazic, et. al. Expires November 6, 2008               [Page 22]


Internet-Draft                  XMLERS                         May 2008


3. Generation of an Evidence Record

   The generation of an <EvidenceRecord> element can be described as
   follows:

   1. Select an archive object (an archive data object or an archive
      data object group) to archive.

   2. Create the initial ATS. This is the first ATS within the initial
      Archive Time-Stamp Chain of the Archive Time-Stamp Sequence.

   3. Refresh the Archive Time-Stamp when necessary, by Time-Stamp
      Renewal or Hash-Tree Renewal.

   In the case that only essential parts of documents or objects shall
   be protected, the application not defined in this draft must ensure
   that the correct extraction of binary data is made for generation of
   evidence record.

   For example: an application may provide also evidence such as
   certificates, revocation lists etc., needed to verify and validate
   signed data objects. This evidence may be added to the archived group
   of data object and will be protected within initial (and successive)
   time-stamp(s).

   Comment [AJB]: For the purpose of extraction, inclusion of reference
   tag should be defined, i.e. information on which data or piece of
   data is digested.

3.1. Initial Archive Timestamp

   Initial ATS relates to a data object or a data object group that
   represents an archived object. The generation of the initial ATS
   elements can be done in a single process pass for one or for many
   archived objects, described as follows:



Jerman Blazic, et. al. Expires November 6, 2008               [Page 23]


Internet-Draft                  XMLERS                         May 2008


   1. Collect one or more archived objects to be time-stamped.

   2. Select a valid digest algorithm H. The same digest algorithm MUST
      be used to create the time-stamped values and the time-stamp.

   3. Create an input list of digest values of archive objects
      calculated with H (one digest value for each archived data
      object). Those digest values are the leaves of the hash tree for
      the whole group of archived objects.

      A hash tree to be included within the initial ATS of a single
      archived object is generated as a reduced hash tree from the hash
      tree for the whole group as defined in 2.3.3. Hash tree may be
      omitted in the initial archive time-stamp, when an archive object
      is having a single data object; then the time-stamped value must
      match the digest value of that single data object. When an archive
      object is composed of more than one data object, place digest
      values of all data objects in a group, sort them in binary
      ascending order, concatenate them into a single string and
      generate a new digest value. This digest value represents a digest
      value of that archived object. The list of digest values of data
      objects must be part of the first sequence in the hash tree
      (reduced hash tree) for this archive object.

   4. If there is more than one digest value on the input list, place
      them in groups and sort each group in binary ascending order.
      Concatenate group digest values and generate new digest values,
      which represent inner nodes of the hash tree for the whole group.
      Repeat this step until there is only one hash value left, which is
      the root node value of the hash tree.

   5. Acquire time-stamp for root node value. If the time-stamp is
      valid, the initial archive time-stamp may be generated.





Jerman Blazic, et. al. Expires November 6, 2008               [Page 24]


Internet-Draft                  XMLERS                         May 2008


3.2. Renewal Process

   Before the cryptographic algorithms used within the last Archive
   Time-Stamp become weak or the time-stamp certificates are
   invalidated, the existence of Archive Time-Stamp or archive time-
   stamped data has to be reassured. This can be done by creating a new
   archive time-stamp. Depending on whether the time-stamp becomes
   invalid or the hash algorithm of the hash tree becomes weak, two
   kinds of renewal processes are possible.

   If the digest algorithm to be used (H) in the renewal process is the
   same as one used in the last Archive Time-Stamp (H'), the digest
   value of that Archive Time-Stamp is calculated and a new Archive
   Time-Stamp is applied. This process is known simply as time-stamp
   renewal.

   The process of hash tree renewal occurs when the new digest algorithm
   is (due to new cryptographic constrains) different than the one used
   in the last Archive Time-Stamp (H <> H'). In this case new Archive
   Time-stamp Chain is created and a digest value for a new Archive
   Time-Stamp is digested in the following manner from the binary
   ascending sorted and concatenated:

   o  digest values of data object(s) calculated with the new digest
      algorithm and

   o  digest value of all previously created Archive Time-Stamp Chains
      calculated with the new digest algorithm (including ordered
      archive timestamp chains and contained archive time stamps with
      hash trees, cryptographic information, etc.).

3.2.1. Time-Stamp Renewal

   For the purpose of Time-Stamp Renewal, the complete content of the
   <ArchiveTimeStamp> element of the preceding Archive Timestamp MUST be



Jerman Blazic, et. al. Expires November 6, 2008               [Page 25]


Internet-Draft                  XMLERS                         May 2008


   hashed and time stamped by a new Archive Time-Stamp. A digest value
   to be time-stamped within a new ATS is calculated as follows:

   1. If the current ATS does not contain needed proof for long-term
      formal validation of its time-stamp token within the time-stamp
      token, collect needed data such as root certificates, certificate
      revocation lists, etc., and include them in
      <CryptographicInformation> element of the last Archive Time-Stamp
      (each data object into a separate <CryptographicInformation>
      element).

   2. Digest value is calculated from binary representation of the last
      <ArchiveTimeStamp> element including added cryptographic
      information. Acquire the time-stamp for the calculated digest
      value. If the time-stamp is valid, the new archive time-stamp may
      be generated.

   3. Increase the value order of the new ATS by one and place the new
      ATS into the last Archive Time-Stamp Chain.

   The new ATS and its hash tree MUST use the same digest algorithm as
   the preceding one, which is specified in the <DigestMethod> element
   of the ATSC.

3.2.2. Hash Tree Renewal

   Hash tree renewal process is performed in cases where the used hash
   algorithm becomes weak. This process takes into account values of all
   preceding Archive Time-Stamps as well as values of archive data
   objects (covered by Archive Time-Stamps). Hash tree renewal procedure
   is as follows:







Jerman Blazic, et. al. Expires November 6, 2008               [Page 26]


Internet-Draft                  XMLERS                         May 2008


   1. If the current ATS does not contain needed proof for long-term
      formal validation of its time-stamp token within the time-stamp
      token, collect needed data such as root certificates, certificate
      revocation lists, etc., and include them in
      <CryptographicInformation> element of the last Archive Time-Stamp
      (each data object into a separate <CryptographicInformation>).

   2. Select a (new) secure hash algorithm H and select data objects
      d(i) referred to by initial Archive Time-Stamp. Generate hash
      values h(i) = H(d(i)). In case the initial Archive Time-Stamp is
      applied to more than one data object (of archive data object),
      then more than one hash values are generated i.e., h(i_a),
      h(i_b).., h(i_n)

   3. Calculate the digest value hatsc(i) = H(ATSC(i))of the
      canonicalized binary representation of the previously generated
      and ordered <ArchiveTimeStampChain> elements within
      <ArchiveTimeStampSequence> element, corresponding to data object
      d(i). Note that Archive Timestamp Chains and Archive Time Stamps
      MUST be chronologically ordered, each respectively to its Order
      attribute.

   4. Concatenate and sort in binary ascending order: each h(i) and
      corresponding H(ATSC(i))and generate a new digest value h(i)'. In
      case of more data objects in one archive data object, concatenate
      and sort in binary ascending order hash values h(i_a), h(i_b),
      etc. and H(ATSC(i)). Build a new Archive Timestamp for each h(i)'.
      Generation of the reduced hash tree (for h(i)' elements) is
      defined in section 2.3.2. . Note that each h(i)' is treated as the
      document hash in section 2.3.2. The first hash value list in the
      reduced hash tree should only contain h(i)'. For a multi-document
      group (data object group which contains more than one document),
      the first hash value list contains the new hashes for all the
      documents in this group in binary ascending order, i.e. h(i_a)',
      h(i_b)', etc.



Jerman Blazic, et. al. Expires November 6, 2008               [Page 27]


Internet-Draft                  XMLERS                         May 2008


   5. Create new <ArchiveTimeStampChain>, and place it into the existing
      <ArchiveTimeStampSequence> as a last child with the order number
      increased by one. Create new <ArchiveTimeStamp> element with order
      number 1 and place it into created <ArchiveTimeStampChain>
      element.

4. Verification of an Evidence Record

   An Evidence Record shall prove that an archive object existed and has
   not been changed from the time of the time-stamp token within the
   first ATS. Every ATS, but the last, must be valid at the time of the
   next ATS. In order to complete the non-repudiation proof for the data
   objects, the last ATS has to be valid at the time when verification
   is performed.

   To verify the validity of an Evidence Record start with the first ATS
   till the last ATS (ordered by attribute Order) and perform
   verification for each ATS, as follows:

   1. Select an archive data object or group of data objects

   2. Re-encrypt data object or data object group, if
      <EncrpytionInformation> field is used (see section 5.  for more
      details)

   3. Get a digest method identifier H from the <DigestMethod> element
      of the current ATSC.

   4. Make a list of digest values of (archive) data objects within
      (archive) data object group that MUST be protected with this ATS
      as follows:

       a. If this ATS is the first in the ATSC chain:





Jerman Blazic, et. al. Expires November 6, 2008               [Page 28]


Internet-Draft                  XMLERS                         May 2008


           i. If this is the first ATS of the first ATSC in the ATSSeq
               sequence, calculate digest values of data objects with H
               and add each digest value to the list.

          ii. If this is the first ATS of the ATSC which is not the
               initial ATSC in the ATSSeq sequence, calculate a single
               digest value with H of ordered ATSCs. Add and sort in
               binary ascending order this digest value with digest
               values of protected data objects and generate a new hash
               value.

       b. If this ATS is not the first in the ATSC chain:

           i. Calculate the digest value with H of the previous ATS
               element.

   5. Get the first sequence of the hash tree for this ATS. If this ATS
      has no hash tree elements then:

       a. If this ATS is not the first in the ATSSeq (first ATS of first
          ATSC), exit with a negative result.

       b. If this ATS is the first in the ATSSeq, there must be only one
          protected data object. The digest value of that data object
          must be the same as its time-stamped value. If not, exit with
          a negative result.

   6. If there is a digest value in the list of digest values of
      protected objects, which can not be found in the first sequence of
      the hash tree or if there is a hash value in the first sequence of
      the hash tree which is not in the list of digest values of
      protected objects, exit with a negative result. Get the hash tree
      from the current ATS and use H to calculate the root hash value
      (see section 2.3.3.3. )




Jerman Blazic, et. al. Expires November 6, 2008               [Page 29]


Internet-Draft                  XMLERS                         May 2008


   7. Get time stamped value from the time stamp token. If calculated
      root hash value from the hash tree does not match the time stamped
      value, exit with a negative result.

   8. Verify timestamp cryptographically and formally (validate the used
      certificate and its chain which may be available within the time
      stamp token itself or <CryptographicInformation> tag).

   9. If this ATS is the last ATS, check formal validity for the current
      time (now), or get "valid from" time of the next ATS and verify
      formal validity at that specific time.

   10.If the needed information to verify formal validity is not found
      within the timestamp or within its Cryptographic Information
      section of ATS, exit with a negative result.

5. Encryption

   In some archive services scenarios it may be required that clients
   send encrypted data only, preventing information disclosure to third
   parties, such as archive service providers. In such scenarios it must
   be clear that evidence records generated refer to encrypted data
   objects. Evidence records in general protect the bit-stream which
   freezes the bit structure at the time of archiving. Encryption
   schemes in such scenarios cannot be changed afterwards without losing
   the integrity proof. Therefore, an ERS record must hold and preserve
   encryption information in a consistent manner.

   Encryption is a two way process, whose result depends on the
   cryptographic material used, e.g. encryption keys and encryption
   algorithms. Encryption and decryption keys as well as algorithms must
   match in order to reconstruct the original message or data that was
   encrypted. When different cryptographic material is used, the results
   however may not be the same, i.e. decrypted data does not match the
   original (unencrypted) data. In cases when evidence was generated to
   prove the existence of encrypted data the corresponding algorithm and


Jerman Blazic, et. al. Expires November 6, 2008               [Page 30]


Internet-Draft                  XMLERS                         May 2008


   decryption keys used for encryption have to be properly preserved
   otherwise the evidence record is not a non-repudiation proof. To
   achieve this, cryptographic material must become a part of the
   evidence record and is used to unambiguously represent original
   (unencrypted) data that was encrypted.

   Cryptographic material may also be used in scenarios when a local
   copy of encrypted data submitted to the LTA for preservation is kept
   in an unencrypted form by a client. In such scenarios cryptographic
   material is used to re-encrypt unencrypted data for the purpose of
   performing validation of evidence record, which is related to the
   encrypted form of client's data.

   [AJB] This section may need rework (detailed definition of
   cryptographic information element values).

   The attribute Type within <EncrytionInformation> element is optional
   and is used to store processing information about type of stored
   encryption information, e.g. encryption algorithm or encryption key,
   (while the element holds e.g. encryption key value).


6. XSD Schema for the Evidence Record

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns="http://www.setcce.org/schemas/ers"
targetNamespace="http://www.setcce.org/schemas/ers" elementFormDefault="qualified"
attributeFormDefault="unqualified">
     <xs:element name="EvidenceRecord">
          <xs:complexType>
               <xs:sequence>
                    <xs:element name="EncryptionInformation" type="EncryptionInfo"
minOccurs="0"/>
                    <xs:element name="ArchiveTimeStampSequence">
                         <xs:complexType>


Jerman Blazic, et. al. Expires November 6, 2008               [Page 31]


Internet-Draft                  XMLERS                         May 2008


                              <xs:sequence>
                                   <xs:element name="ArchiveTimeStampChain"
minOccurs="0" maxOccurs="unbounded">
                                        <xs:complexType>
                                             <xs:sequence>
                                                  <xs:element
name="ArchiveTimeStamp" maxOccurs="unbounded">
                                                       <xs:complexType>
                                                            <xs:sequence>

     <xs:element name="HashTree" type="HashTreeType" minOccurs="0"/>

     <xs:element name="TimeStamp">

     <xs:complexType mixed="true">

     <xs:sequence>

          <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>

     </xs:sequence>

     </xs:complexType>

     </xs:element>

     <xs:element name="CryptographicInformation" minOccurs="0" maxOccurs="unbounded">

     <xs:complexType mixed="true">

     <xs:sequence>

          <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>

     </xs:sequence>

     </xs:complexType>



Jerman Blazic, et. al. Expires November 6, 2008               [Page 32]


Internet-Draft                  XMLERS                         May 2008



     </xs:element>

     <xs:element name="Attributes" type="Attributes" minOccurs="0"/>
                                                            </xs:sequence>
                                                            <xs:attribute
name="Order" type="xs:integer" use="required"/>
                                                       </xs:complexType>
                                                  </xs:element>
                                                  <xs:element
name="CanonicalizationMethod" type="CanonicalizationMethodType"/>
                                                  <xs:element
name="DigestMethod" type="DigestMethodType"/>
                                             </xs:sequence>
                                             <xs:attribute name="Order"
type="xs:integer" use="required"/>
                                        </xs:complexType>
                                   </xs:element>
                              </xs:sequence>
                         </xs:complexType>
                    </xs:element>
               </xs:sequence>
               <xs:attribute name="Version" type="xs:string" use="required"/>
          </xs:complexType>
     </xs:element>
     <!-- TYPE DEFINITIONS-->
     <xs:complexType name="EncryptionInfo">
          <xs:sequence>
               <xs:element name="EncryptionInfoType" type="ObjectIdentifier"/>
               <xs:element name="EncryptionInfoValue" type="OpenType"/>
          </xs:sequence>
     </xs:complexType>
     <xs:complexType name="DigestMethodType" mixed="true">
          <xs:sequence>
               <xs:any namespace="##other" minOccurs="0" maxOccurs="1"/>
          </xs:sequence>
          <xs:attribute name="Algorithm" type="xs:anyURI" use="required"/>
     </xs:complexType>


Jerman Blazic, et. al. Expires November 6, 2008               [Page 33]


Internet-Draft                  XMLERS                         May 2008


     <xs:complexType name="CanonicalizationMethodType" mixed="true">
          <xs:sequence>
               <xs:any namespace="##any" minOccurs="1" maxOccurs="1"/>
          </xs:sequence>
          <xs:attribute name="Algorithm" type="xs:anyURI" use="required"/>
     </xs:complexType>
     <xs:complexType name="HashTreeType" mixed="true">
          <xs:sequence>
               <xs:element name="Sequence" maxOccurs="unbounded">
                    <xs:complexType>
                         <xs:sequence>
                              <xs:element name="DigestValue"
type="xs:base64Binary" maxOccurs="unbounded"/>
                         </xs:sequence>
                    </xs:complexType>
               </xs:element>
          </xs:sequence>
     </xs:complexType>
     <xs:complexType name="Attributes">
          <xs:sequence>
               <xs:element name="Attribute" type="Attribute"/>
          </xs:sequence>
     </xs:complexType>
     <xs:complexType name="Attribute">
          <xs:sequence>
               <xs:element name="attrType" type="ObjectIdentifier"/>
               <xs:element name="attrValues">
                    <xs:complexType>
                         <xs:sequence minOccurs="0" maxOccurs="unbounded">
                              <xs:element name="AttributeValue"
type="AttributeValue"/>
                         </xs:sequence>
                    </xs:complexType>
               </xs:element>
          </xs:sequence>
     </xs:complexType>
     <xs:complexType name="AttributeValue">
          <xs:sequence>


Jerman Blazic, et. al. Expires November 6, 2008               [Page 34]


Internet-Draft                  XMLERS                         May 2008


               <xs:any processContents="lax"/>
          </xs:sequence>
     </xs:complexType>
     <xs:simpleType name="ObjectIdentifier">
          <xs:restriction base="xs:token">
               <xs:pattern value="[0-2](\.[1-3]?[0-9]?(\.\d+)*)?"/>
          </xs:restriction>
     </xs:simpleType>
     <xs:complexType name="OpenType">
          <xs:sequence>
               <xs:any processContents="lax"/>
          </xs:sequence>
     </xs:complexType>
   </xs:schema>

7. Security Considerations

   TBA

8. IANA Considerations

   TBA

9. Conclusions

   TBA

10. Acknowledgments

   This document was prepared using 2-Word-v2.0.template.dot.








Jerman Blazic, et. al. Expires November 6, 2008               [Page 35]


Internet-Draft                  XMLERS                         May 2008


APPENDIX A: First Appendix

   TBA



































Jerman Blazic, et. al. Expires November 6, 2008               [Page 36]


Internet-Draft                  XMLERS                         May 2008


11. References

   [I-D.ietf-ltans-ers] Brandner, R., "Evidence Record Syntax (ERS)",
             draft-ietf-ltans-ers-11 (work in progress), February 2007

   [I-D.ietf-ltans-ltap] Jerman-Blazic, A., "Long-term Archive Protocol
             (LTAP)", draft-ietf-ltans-ltap-03 (work in progress),
             October 2006.

   [I-D.ietf-ltans-reqs] Wallace, C., "Long-Term Archive Service
             Requirements", draft-ietf-ltans-reqs-10 (work in progress),
             December 2006.

   [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
             Requirement Levels", BPC 14, RFC 2119, March 1997.

   [RFC3161] Adams, C., Cain, P., Pinkas, D., and R. Zuccherato,
             "Internet X.509 Public Key Infrastructure Time-Stamp
             Protocol (TSP)", RFC 3161, August 2001.

   [RFC3280] Housley, R., Polk, W., Ford, W., and D. Solo, "Internet
             X.509 Public Key Infrastructure Certificate and Certificate
             Revocation List (CRL) Profile", RFC 3280, April 2002.

   [RFC3852] Housley, R., "Cryptographic Message Syntax (CMS)", RFC
             3852, July 2004.

   [XMLC14N] Boyer, J., "Canonical XML", W3C Recommendation, March 2001.

   [XMLDsig] Eastlake, D., "XML-Signature Syntax and
             Processing",XMLDsig, July 2006.







Jerman Blazic, et. al. Expires November 6, 2008               [Page 37]


Internet-Draft                  XMLERS                         May 2008




11.1. Normative References

   TBA

11.2. Informative References

   [MER1980] Merkle, R., "Protocols for Public Key Cryptosystems,
             Proceedings of the 1980 IEEE Symposium on Security and
             Privacy (Oakland, CA, USA)", pages 122-134, April 1980.

   [MIME]    Freed, N., "Multipurpose Internet Mail Extensions (MIME)
             Part One: Format of Internet Message Bodies", RFC 2045,
             November 1996.

   [RFC3470] Hollenbeck, S., " Guidelines for the Use of Extensible
             Markup Language (XML) within IETF Protocols ", RFC 3470,
             January 2003.



Author's Addresses

   Aleksej Jerman Blazic
   SETCCE
   Tehnoloski park 21
   1000 Ljubljana
   Slovenia

   Phone: +386 (0) 1 620 4500
   Fax:   +386 (0) 1 620 4509
   Email: aljosa@setcce.si





Jerman Blazic, et. al. Expires November 6, 2008               [Page 38]


Internet-Draft                  XMLERS                         May 2008


   Svetlana Saljic
   SETCCE
   Tehnoloski park 21
   1000 Ljubljana
   Slovenia

   Phone: +386 (0) 1 620 4506
   Fax:   +386 (0) 1 620 4509
   Email: svetlana.saljic@setcce.si


   Tobias Gondrom
   Waisenhausstr. 67C
   80637 Munich
   Germany

   Phone: +49 (0) 89 3205 330
   Fax:   /
   Email: tobias.gondrom@gondrom.org


Intellectual Property Statement

   The IETF takes no position regarding the validity or scope of any
   Intellectual Property Rights or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; nor does it represent that it has
   made any independent effort to identify any such rights.  Information
   on the procedures with respect to rights in RFC documents can be
   found in BCP 78 and BCP 79.

   Copies of IPR disclosures made to the IETF Secretariat and any
   assurances of licenses to be made available, or the result of an
   attempt made to obtain a general license or permission for the use of
   such proprietary rights by implementers or users of this


Jerman Blazic, et. al. Expires November 6, 2008               [Page 39]


Internet-Draft                  XMLERS                         May 2008


   specification can be obtained from the IETF on-line IPR repository at
   http://www.ietf.org/ipr.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights that may cover technology that may be required to implement
   this standard.  Please address the information to the IETF at
   ietf-ipr@ietf.org.

Disclaimer of Validity

   This document and the information contained herein are provided on an
   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
   OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST 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.

Copyright Statement

   Copyright (C) The IETF Trust (2008).

   This document is subject to the rights, licenses and restrictions
   contained in BCP 78, and except as set forth therein, the authors
   retain all their rights.

Acknowledgment

   Funding for the RFC Editor function is currently provided by the
   Internet Society.







Jerman Blazic, et. al. Expires November 6, 2008               [Page 40]