<?xml version="1.0" encoding="US-ASCII"?>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [

<!ENTITY RFC2119 SYSTEM "reference.RFC.2119.xml">
<!ENTITY RFC3688 SYSTEM "reference.RFC.3688.xml">
<!ENTITY RFC4648 SYSTEM "reference.RFC.4648.xml">
<!ENTITY RFC5105 SYSTEM "reference.RFC.5105.xml">
<!ENTITY RFC5322 SYSTEM "reference.RFC.5322.xml">
<!ENTITY RFC5730 SYSTEM "reference.RFC.5730.xml">
<!ENTITY RFC5890 SYSTEM "reference.RFC.5890.xml">
<!ENTITY RFC6931 SYSTEM "reference.RFC.6931.xml">
<!ENTITY RFC6982 SYSTEM "reference.RFC.6982.xml">

]>

<?rfc toc="yes"?>
<?rfc tocompact="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<?rfc tocdepth="2"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes" ?>

<rfc category="std" ipr="trust200902" number="7848" submissionType="IETF" consensus="yes">
  
  <front>
    
    <title abbrev="Mark and Signed Mark">Mark and Signed Mark Objects
    Mapping</title>
    
    <author fullname="Gustavo Lozano" initials="G.L." surname="Lozano">
      <organization>ICANN</organization>
      <address>
        <postal>
          <street>12025 Waterfront Drive, Suite 300</street>
          <city>Los Angeles</city>
          <region>CA</region>
          <code>90292</code>
          <country>United States</country>
        </postal>
        <phone>+1.3103015800</phone>
        <email>gustavo.lozano@icann.org</email>
      </address>
    </author>
    
    <date month="June" year="2016"/>
    
    <area>Applications</area>
    
    <workgroup>Internet Engineering Task Force</workgroup>
    
    <keyword>Trademark Clearinghouse, Signed Mark Data, Signed Mark, Mark, SMD</keyword>

    <abstract>
      <t>  
        Domain Name Registries (DNRs) may operate in special modes for certain periods of time,
        enabling trademark holders to protect their rights
        during the introduction of a Top-Level Domain (TLD).
      </t>
      <t>
        One of those special modes of operation is the Sunrise Period. The Sunrise Period allows 
        trademark holders an advance opportunity to 
        register domain names corresponding to their trademarks before names are generally available to the public.
      </t>   
      <t>
        This document describes the format of a mark and a digitally signed mark used by trademark 
        holders for registering domain names
        during the Sunrise Period of generic Top-Level Domains (gTLDs). Three types of Mark 
        objects are defined in this specification: 
        registered trademarks, court-validated marks, and marks protected by statue or treaty.
      </t>
    </abstract>
    
  </front>
  
  <middle>
    
    <section title="Introduction">
      <t>  
        Domain Name Registries (DNRs) may operate in special modes for certain periods of time enabling trademark holders to protect their rights
        during the introduction of a Top-Level Domain (TLD).
      </t>
      <t>
        One of those special modes of operation is the Sunrise Period. The Sunrise Period allows trademark holders an advance opportunity to 
        register domain names corresponding to their trademarks before names are generally available to the public.
      </t>     
      <t>
        This specification was defined as part of the development of the ICANN Trademark Clearinghouse (TMCH). The ICANN TMCH is a global
        repository for trademark data used by DNRs, registrars, and trademark holders during the registration process of domain names.
      </t>      
      <t>
        This document describes a mapping of the common elements found in trademark data. A digitally signed mark format is defined in 
        order to support digital signatures on the mark. Finally, a mapping for encoding the signed mark document is defined.
      </t>
      <t>
        Three types of Mark objects are defined in this specification: registered trademarks, court-validated marks, and marks protected 
        by statue or treaty.
      </t>
      <t>
        This specification is intended to be used in the gTLD space, but nothing precludes the use of this format by other entities. 
      </t>   
      <t>
        The detailed policy regarding the public key infrastructure (PKI), authorized validators, and other requirements must be defined based on
        the local policy of the entities using this specification. In the case of gTLDs, the detailed policy regarding the use of this specification is
        defined in the Rights Protection Mechanism Requirements document (see <xref target="ICANN-TMCH" />), and the PKI is defined in
        <xref target="TMCH" />. Implementations will need to implement such a PKI (or an equivalent) in order for the 
        signatures defined in this document to have any useful semantics.
      </t>
      <t>     
        The objects specified in this document can be referenced by application protocols like the Extensible Provisioning Protocol (EPP), 
        defined in <xref target="RFC5730"/>.
      </t>    
      
      <section title="Terminology">
        <t>
          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 <xref target="RFC2119">RFC 2119</xref>.
        </t>
        <t>
          XML (EXtensible Markup Language) is case sensitive. Unless stated otherwise, XML specifications and examples provided in this document
          MUST be interpreted in the character case presented in order to develop a conforming implementation.
        </t>
        <t>
          "signedMark-1.0" is used as an abbreviation for "urn:ietf:params:xml:ns:signedMark-1.0". The XML namespace prefix "smd" is used, 
          but implementations MUST NOT depend on it and instead employ a proper namespace-aware XML parser and serializer to interpret and
          output the XML documents.
        </t>
        <t>
          "mark-1.0" is used as an abbreviation for "urn:ietf:params:xml:ns:mark-1.0". The XML namespace prefix "mark" is used, 
          but implementations MUST NOT depend on it and instead employ a proper namespace-aware XML parser and serializer to interpret and
          output the XML documents.
        </t>
      </section>
    </section>
    
    <section anchor="objDesc" title="Object Description">
      <t>
        This section defines the Mark and Signed Mark objects.  Empty complex element types and abstract elements are defined to support 
        additional definitions using XML schema substitution groups.  Support for replacement through the XML schema 
        substitution groups is included in the description of the objects.  
      </t>
      <t>This section defines some elements as OPTIONAL. If an element is not defined as OPTIONAL, then it MUST be included in the object.</t>
      <t>
        The following elements are defined as telephone numbers: &lt;mark:voice&gt;, &lt;mark:fax&gt;, and &lt;smd:voice&gt;.
        The representation of telephone numbers in this specification is derived from structures defined in <xref target="ITU.E164.2005" />.  
        Telephone numbers described in this mapping are character strings that MUST begin with a plus sign ("+", ASCII value 0x002B), 
        followed by a country code defined in <xref target="ITU.E164.2005" />, followed by a dot (".", ASCII value 0x002E), followed by a sequence
        of digits representing the telephone number.  An optional "x" attribute is provided to note telephone extension information.
      </t>
      <t>
        The following elements are defined as email addresses: &lt;mark:email&gt; and &lt;smd:email&gt;. Email address syntax is 
        defined in <xref target="RFC5322" />.
      </t>
      
      <section anchor="holderContacts" title="Holder and Contact Objects">
        <t>
          Marks are linked to Holder objects and optionally linked to Contact objects. This section defines the &lt;mark:holder&gt; and
          &lt;mark:contact&gt; objects.
          <list style="symbols">
            <t>
              The child elements of &lt;mark:holder&gt; include:
              <list style="symbols">
                <t>
                  A &lt;mark:name&gt; element that contains the name of the individual holder of the mark. At least one of &lt;mark:name&gt;
                  and &lt;mark:org&gt; MUST be specified, and &lt;mark:name&gt; is OPTIONAL if &lt;mark:org&gt; is specified.
                </t>
                <t>
                  A &lt;mark:org&gt; element that contains the name of the organization holder of the mark.  At least one of &lt;mark:name&gt;
                  and &lt;mark:org&gt; MUST be specified, and &lt;mark:org&gt; is OPTIONAL if &lt;mark:name&gt; is specified.
                </t>
                <t>
                  A &lt;mark:addr&gt; element that contains the address information of the holder of a mark. A &lt;mark:addr&gt; contains the
                  following child elements:
                  <list style="symbols">
                    <t>One, two, or three OPTIONAL &lt;mark:street&gt; elements that contain the holder's street address.</t>
                    <t>A &lt;mark:city&gt; element that contains the holder's city.</t>
                    <t>An OPTIONAL &lt;mark:sp&gt; element that contains the holder's state or province.</t>
                    <t>An OPTIONAL &lt;mark:pc&gt; element that contains the holder's postal code.</t>
                    <t>A &lt;mark:cc&gt; element that contains the holder's country code. This is a two-character code from <xref target="ISO3166-2" />.</t>
                  </list>
                </t>
                <t>An OPTIONAL &lt;mark:voice&gt; element that contains the holder's voice telephone number.</t>
                <t>An OPTIONAL &lt;mark:fax&gt; element that contains the holder's facsimile telephone number.</t>
                <t>An OPTIONAL &lt;mark:email&gt; element that contains the email address of the holder.</t>
              </list>
            </t>
            
            
            <t>
              The child elements of &lt;mark:contact&gt; include:
              <list style="symbols">
                <t>A &lt;mark:name&gt; element that contains the name of the responsible person.</t>
                <t>An OPTIONAL &lt;mark:org&gt; element that contains the name of the organization of the contact.</t>
                <t>
                  A &lt;mark:addr&gt; element that contains the address information of the contact. A &lt;mark:addr&gt; contains the following child elements:
                  <list style="symbols">
                    <t>One, two, or three OPTIONAL &lt;mark:street&gt; elements that contain the contact's street address.</t>
                    <t>A &lt;mark:city&gt; element that contains the contact's city.</t>
                    <t>An OPTIONAL &lt;mark:sp&gt; element that contains the contact's state or province.</t>
                    <t>An OPTIONAL &lt;mark:pc&gt; element that contains the contact's postal code.</t>
                    <t>A &lt;mark:cc&gt; element that contains the contact's country code. This is a two-character code from <xref target="ISO3166-2" />.</t>
                  </list>
                </t>
                <t>A &lt;mark:voice&gt; element that contains the contact's voice telephone number.</t>
                <t>An OPTIONAL &lt;mark:fax&gt; element that contains the contact's facsimile telephone number.</t>
                <t>A &lt;mark:email&gt; element that contains the contact's email address.</t>
              </list>
            </t>
          </list>
        </t>
      </section>
      
      
      <section anchor="mark" title="Mark">
        <t> A &lt;mark:mark&gt; element that describes an applicant's prior right to a given domain name.</t>
        <t>
          A &lt;mark:mark&gt; element substitutes for the &lt;mark:abstractMark&gt; abstract element to define a concrete definition of a mark.
          The &lt;mark:abstractMark&gt; element can be replaced by other mark definitions using the XML schema substitution groups feature.  
        </t>  
        <t>The child elements of the &lt;mark:mark&gt; element include:</t>
        <t>
          One or more &lt;mark:trademark&gt;, &lt;mark:treatyOrStatute&gt;, and &lt;mark:court&gt; elements that contain 
          the detailed information of marks.
          <list style="symbols">
            <t>
              A &lt;mark:trademark&gt; element that contains the following child elements:
              <list style="symbols">
                <t>
                  A &lt;mark:id&gt; that uniquely identifies a mark in relation to a repository of marks potentially maintained by more than
                  one issuer.  A &lt;mark:id&gt; value is a concatenation of the local identifier, followed by a hyphen ("-", ASCII value 0x002D),
                  followed by the issuer identifier.
                </t>
                <t>A &lt;mark:markName&gt; element that contains the mark text string.</t>
                <t>
                  One or more &lt;mark:holder&gt; elements that contain the information of the holder of the mark. An "entitlement" attribute
                  is used to identify the entitlement of the holder; possible values are "owner", "assignee", and "licensee".
                </t>
                <t>
                  Zero or more OPTIONAL &lt;mark:contact&gt; elements that contain the information of the representative of the mark registration. 
                  A "type" attribute is used to identify the type of contact;
		  possible values are "owner", "agent", or "thirdparty".

                </t>
                <t>
                  A &lt;mark:jurisdiction&gt; element that contains the two-character code of the jurisdiction where the trademark was registered.
                  This is a two-character code from <xref target="WIPO.ST3" />.
                </t>
                <t>
                  Zero or more OPTIONAL &lt;mark:class&gt; elements that contain the World Intellectual Property Organization (WIPO) Nice Classification class numbers of the mark 
                  as defined in the WIPO Nice Classification <xref target="WIPO-NICE-CLASSES"/>.
                </t>
                <t>
                  Zero or more OPTIONAL &lt;mark:label&gt; elements that contain the A-label form (as defined in <xref target="RFC5890"/>) of the 
                  label that corresponds to the &lt;mark:markName&gt;. 
                </t>      

                <t>
                  A &lt;mark:goodsAndServices&gt; element that contains the full description of the goods and services from the document certifying the registration of the mark.
                </t>     
                <t>An OPTIONAL &lt;mark:apId&gt; element that contains the trademark application ID registered in the trademark office.</t>
                <t>An OPTIONAL &lt;mark:apDate&gt; element that contains the date the trademark was applied for.</t>
                <t>A &lt;mark:regNum&gt; element that contains the trademark registration number registered in the trademark office.</t>
                <t>A &lt;mark:regDate&gt; element that contains the date the trademark was registered.</t>
                <t>An OPTIONAL &lt;mark:exDate&gt; element that contains the expiration date of the trademark.</t>
              </list>
            </t>
            
            <t>A &lt;mark:treatyOrStatute&gt; element that contains the following child elements:
              <list style="symbols">
                <t>A &lt;mark:id&gt; element; see definition in the &lt;mark:trademark&gt; section above.</t>
                <t>A &lt;mark:markName&gt; element; see definition in the &lt;mark:trademark&gt; section above.</t>
                <t>One or more &lt;mark:holder&gt; elements; see definition in the &lt;mark:trademark&gt; section above.</t>
                <t>Zero or more OPTIONAL &lt;mark:contact&gt; elements; see definition in the &lt;mark:trademark&gt; section above.</t>
                <t>
                  One or more &lt;mark:protection&gt; elements that contain the countries and region of the country 
                  where the mark is protected. The &lt;mark:protection&gt; element contains the following 
                  child elements:
                  <list style="symbols">
                    <t>
                      A &lt;mark:cc&gt; element that contains the two-character code of the country in which the mark is protected.
                      This is a two-character code from <xref target="ISO3166-2" />.
                    </t>
                    <t>
                      An OPTIONAL &lt;mark:region&gt; element that contains the name of a city, state, province, or other geographic 
                      region of &lt;mark:country&gt; in which the mark is protected.
                    </t>
                    <t>
                      Zero or more OPTIONAL &lt;mark:ruling&gt; elements that contain the two-character code of the national territory
                      in which the statute or treaty is applicable. This is a two-character code from <xref target="ISO3166-2" />.
                    </t>               
                    <t>Zero or more OPTIONAL &lt;mark:label&gt; elements; see definition in the &lt;mark:trademark&gt; section above.</t>  
                  </list>
                </t>
                <t>A &lt;mark:goodsAndServices&gt; element; see definition in the &lt;mark:trademark&gt; section above.</t>
                <t>A &lt;mark:refNum&gt; element that contains the serial number of the mark.</t>
                <t>A &lt;mark:proDate&gt; element that contains the date of protection of the mark.</t>
                <t>A &lt;mark:title&gt; element that contains the title of the treaty or statute.</t>
                <t>A &lt;mark:execDate&gt; element that contains the execution date of the treaty or statute.
                </t>
              </list>
            </t>
            
            <t>A &lt;mark:court&gt; element that contains the following child elements:
              <list style="symbols">
                <t>A &lt;mark:id&gt; element; see definition in the &lt;mark:trademark&gt; section above.</t>
                <t>A &lt;mark:markName&gt; element; see definition in the &lt;mark:trademark&gt; section above.</t>
                <t>One or more &lt;mark:holder&gt; elements; see definition in the &lt;mark:trademark&gt; section above.</t>
                <t>Zero or more OPTIONAL &lt;mark:contact&gt; elements; see definition in the &lt;mark:trademark&gt; section above.</t>
                <t>Zero or more OPTIONAL &lt;mark:label&gt; elements; see definition in the &lt;mark:trademark&gt; section above.</t>  
                <t>A &lt;mark:goodsAndServices&gt; element; see definition in the &lt;mark:trademark&gt; section above.</t>
                <t>A &lt;mark:refNum&gt; element that contains the reference number of the court's opinion.</t>
                <t>A &lt;mark:proDate&gt; element that contains the date of protection of the mark.</t>
                <t>
                  A &lt;mark:cc&gt; element that contains the two-character code of the country where the court is located. 
                  This is a two-character code from <xref target="ISO3166-2" />.
                </t>
                <t>
                  Zero or more OPTIONAL &lt;mark:region&gt; elements that contain the name of a city, state,
                  province, or other geographic region of &lt;mark:cc&gt; in which the mark is protected. In case &lt;mark:region&gt; is
                  specified, a default-deny approach MUST be assumed regarding the regions of a country.
                </t>
                <t>A &lt;mark:courtName&gt; element that contains the name of the court.</t>
              </list>
            </t> 
          </list>
        </t>
      </section>
      
      
      <section anchor="signedMark" title="Signed Mark">
        <t>
          The &lt;smd:signedMark&gt; is a digitally signed XML document using an XML Signature <xref target="XMLDSIG" />. 
          The &lt;smd:signedMark&gt; XML document (SMD) includes a required "id" attribute of type XML Schema Definition (XSD) ID for use with an IDREF URI from the 
          Signature element. The SMD might be transmitted as part of 
	  a protocol already based on XML; therefore, exclusive XML
	  canonicalization

          as defined in <xref target="XMLC14N" /> MUST be used.
        </t>
        <t>
          A &lt;smd:signedMark&gt; element substitutes for the &lt;smd:abstractSignedMark&gt; abstract element to define a concrete 
          definition of a signed mark.  The &lt;smd:abstractSignedMark&gt; element can be replaced by other signed mark definitions using the 
          XML schema substitution groups feature.
        </t>  
        <t>The child elements of the &lt;smd:signedMark&gt; element include:</t>
        <t>
          <list style="symbols">
            <t>
              The &lt;smd:id&gt; element that uniquely identifies an SMD in relation to a repository of SMDs potentially maintained by more than one issuer.
              The &lt;smd:id&gt; value is a concatenation of the local identifier, followed by a hyphen ("-", ASCII value 0x002D), followed 
              by the issuer identifier. 
            </t>
            <t>
              A &lt;smd:issuerInfo&gt; element that contains the information of the issuer of the mark registration. An "issuerID" attribute 
              is used to specify the issuer identifier. The child elements include:
              <list style="symbols">                
                <t>A &lt;smd:org&gt; element that contains the organization name of the issuer.</t>
                <t>A &lt;smd:email&gt; element that contains the issuer customer support email address.</t>
                <t>An OPTIONAL &lt;smd:url&gt; element that contains the HTTP or HTTPS URL of the issuer's site.</t>
                <t>An OPTIONAL &lt;smd:voice&gt; element that contains the issuer's voice telephone number.</t>
              </list>
            </t>
            <t>A &lt;smd:notBefore&gt; element that contains the creation date and time of the SMD.</t>
            <t>A &lt;smd:notAfter&gt; element that contains the expiration date and time of the SMD.</t>
            <t>A &lt;mark:mark&gt; element that contains the mark information as defined in <xref target="mark"/>.</t>            
          </list>
        </t>
        
        <figure>
          <preamble>The following is an example of an SMD:</preamble>
<artwork><![CDATA[
<?xml version="1.0" encoding="UTF-8"?>
<smd:signedMark xmlns:smd="urn:ietf:params:xml:ns:signedMark-1.0" 
id="smd1">
  <smd:id>0000001751376056503931-65535</smd:id>
  <smd:issuerInfo issuerID="65535">
    <smd:org>ICANN TMCH TESTING TMV</smd:org>
    <smd:email>notavailable@example.com</smd:email>
    <smd:url>https://www.example.com</smd:url>
    <smd:voice>+32.000000</smd:voice>
  </smd:issuerInfo>
  <smd:notBefore>2013-08-09T13:55:03.931Z</smd:notBefore>
  <smd:notAfter>2017-07-23T22:00:00.000Z</smd:notAfter>
  <mark:mark xmlns:mark="urn:ietf:params:xml:ns:mark-1.0">
    <mark:trademark>
      <mark:id>00052013734689731373468973-65535</mark:id>
      <mark:markName>Test &amp; Validate</mark:markName>
      <mark:holder entitlement="owner">
        <mark:org>Ag corporation</mark:org>
        <mark:addr>
          <mark:street>1305 Bright Avenue</mark:street>
          <mark:city>Arcadia</mark:city>
          <mark:sp>CA</mark:sp>
          <mark:pc>90028</mark:pc>
          <mark:cc>US</mark:cc>
        </mark:addr>
      </mark:holder>
      <mark:contact type="agent">
        <mark:name>Tony Holland</mark:name>
        <mark:org>Ag corporation</mark:org>
        <mark:addr>
          <mark:street>1305 Bright Avenue</mark:street>
          <mark:city>Arcadia</mark:city>
          <mark:sp>CA</mark:sp>
          <mark:pc>90028</mark:pc>
          <mark:cc>US</mark:cc>
        </mark:addr>
        <mark:voice>+1.2025562302</mark:voice>
        <mark:fax>+1.2025562301</mark:fax>
        <mark:email>info@agcorporation.com</mark:email>
      </mark:contact>
      <mark:jurisdiction>US</mark:jurisdiction>
      <mark:class>15</mark:class>
      <mark:label>testandvalidate</mark:label>
      <mark:label>test---validate</mark:label>
      <mark:label>testand-validate</mark:label>
      <mark:label>test-et-validate</mark:label>
      <mark:label>test-validate</mark:label>
      <mark:label>test--validate</mark:label>
      <mark:label>test-etvalidate</mark:label>
      <mark:label>testetvalidate</mark:label>
      <mark:label>testvalidate</mark:label>
      <mark:label>testet-validate</mark:label>
      <mark:goodsAndServices>guitar</mark:goodsAndServices>
      <mark:regNum>1234</mark:regNum>
      <mark:regDate>2012-12-31T23:00:00.000Z</mark:regDate>
    </mark:trademark>
  </mark:mark>
 <Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
  <SignedInfo>
   <CanonicalizationMethod 
Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
   <SignatureMethod 
Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/>
   <Reference URI="#smd1">
    <Transforms>
     <Transform 
Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
    </Transforms>
    <DigestMethod 
Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
<DigestValue>wgyW3nZPoEfpptlhRILKnOQnbdtU6ArM7ShrAfHgDFg=</DigestValue>
   </Reference>
  </SignedInfo>
  <SignatureValue>
jMu4PfyQGiJBF0GWSEPFCJjmywCEqR2h4LD+ge6XQ+JnmKFFCuCZS/3SLKAx0L1w
QDFO2e0Y69k2G7/LGE37X3vOflobFM1oGwja8+GMVraoto5xAd4/AF7eHukgAymD
o9toxoa2h0yV4A4PmXzsU6S86XtCcUE+S/WM72nyn47zoUCzzPKHZBRyeWehVFQ+
jYRMIAMzM57HHQA+6eaXefRvtPETgUO4aVIVSugc4OUAZZwbYcZrC6wOaQqqqAZi
30aPOBYbAvHMSmWSS+hFkbshomJfHxb97TD2grlYNrQIzqXk7WbHWy2SYdA+sI/Z
ipJsXNa6osTUw1CzA7jfwA==
  </SignatureValue>
  <KeyInfo>
   <X509Data>
   <X509Certificate>
MIIESTCCAzGgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBiMQswCQYDVQQGEwJVUzEL
MAkGA1UECBMCQ0ExFDASBgNVBAcTC0xvcyBBbmdlbGVzMRMwEQYDVQQKEwpJQ0FO
TiBUTUNIMRswGQYDVQQDExJJQ0FOTiBUTUNIIFRFU1QgQ0EwHhcNMTMwMjA4MDAw
MDAwWhcNMTgwMjA3MjM1OTU5WjBsMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0Ex
FDASBgNVBAcTC0xvcyBBbmdlbGVzMRcwFQYDVQQKEw5WYWxpZGF0b3IgVE1DSDEh
MB8GA1UEAxMYVmFsaWRhdG9yIFRNQ0ggVEVTVCBDRVJUMIIBIjANBgkqhkiG9w0B
AQEFAAOCAQ8AMIIBCgKCAQEAo/cwvXhbVYl0RDWWvoyeZpETVZVVcMCovUVNg/sw
WinuMgEWgVQFrz0xA04pEhXCFVv4evbUpekJ5buqU1gmQyOsCKQlhOHTdPjvkC5u
pDqa51Flk0TMaMkIQjs7aUKCmA4RG4tTTGK/EjR1ix8/D0gHYVRldy1YPrMP+ou7
5bOVnIos+HifrAtrIv4qEqwLL4FTZAUpaCa2BmgXfy2CSRQbxD5Or1gcSa3vurh5
sPMCNxqaXmIXmQipS+DuEBqMM8tldaN7RYojUEKrGVsNk5i9y2/7sjn1zyyUPf7v
L4GgDYqhJYWV61DnXgx/Jd6CWxvsnDF6scscQzUTEl+hywIDAQABo4H/MIH8MAwG
A1UdEwEB/wQCMAAwHQYDVR0OBBYEFPZEcIQcD/Bj2IFz/LERuo2ADJviMIGMBgNV
HSMEgYQwgYGAFO0/7kEh3FuEKS+Q/kYHaD/W6wihoWakZDBiMQswCQYDVQQGEwJV
UzELMAkGA1UECBMCQ0ExFDASBgNVBAcTC0xvcyBBbmdlbGVzMRMwEQYDVQQKEwpJ
Q0FOTiBUTUNIMRswGQYDVQQDExJJQ0FOTiBUTUNIIFRFU1QgQ0GCAQEwDgYDVR0P
AQH/BAQDAgeAMC4GA1UdHwQnMCUwI6AhoB+GHWh0dHA6Ly9jcmwuaWNhbm4ub3Jn
L3RtY2guY3JsMA0GCSqGSIb3DQEBCwUAA4IBAQB2qSy7ui+43cebKUKwWPrzz9y/
IkrMeJGKjo40n+9uekaw3DJ5EqiOf/qZ4pjBD++oR6BJCb6NQuQKwnoAz5lE4Ssu
y5+i93oT3HfyVc4gNMIoHm1PS19l7DBKrbwbzAea/0jKWVzrvmV7TBfjxD3AQo1R
bU5dBr6IjbdLFlnO5x0G0mrG7x5OUPuurihyiURpFDpwH8KAH1wMcCpXGXFRtGKk
wydgyVYAty7otkl/z3bZkCVT34gPvF70sR6+QxUy8u0LzF5A/beYaZpxSYG31amL
AdXitTWFipaIGea9lEGFM0L9+Bg7XzNn4nVLXokyEB3bgS4scG6QznX23FGk
  </X509Certificate>
  </X509Data>
  </KeyInfo>
 </Signature>
</smd:signedMark>
]]></artwork>
        </figure>
        <t>
          NOTE: The example shown above includes white space for indentation purposes. It is RECOMMENDED that SMDs do not include
          white space between the XML elements, in order to mitigate risks of invalidating the digital signature when transferring 
          of SMDs between applications takes place.
        </t>
      </section>
      
      <section anchor="encodedSignedMark" title="Encoded Signed Mark">
        <t>
          The &lt;smd:encodedSignedMark&gt; element contains an encoded form of an SMD (described in <xref target="signedMark"/>), 
          with the encoding defined by the "encoding" attribute with the default "encoding" value of "base64" <xref target="RFC4648"/>.  
        </t>
        
        <figure>
          <preamble>
            The following is an example of a &lt;smd:encodedSignedMark&gt; element that uses the default "base64" for encoding
            a &lt;smd:signedMark&gt; element.
          </preamble>
<artwork><![CDATA[
<smd:encodedSignedMark 
   xmlns:smd="urn:ietf:params:xml:ns:signedMark-1.0">
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHNtZDpzaWduZWRNYXJ
rIHhtbG5zOnNtZD0idXJuOmlldGY6cGFyYW1zOnhtbDpuczpzaWduZWRNYXJrLTEuMCIgaW
... (base64 data elided for brevity) ...
PC9zbWQ6c2lnbmVkTWFyaz4=
</smd:encodedSignedMark>
]]></artwork>
        </figure>
      </section>
      
    </section>
    
    <section anchor="syntax" title="Formal Syntax">
      
      <t>Two schemas are presented here.  The first schema is the schema for the Signed Mark object. The second schema is the schema for the Mark object.</t>
      <t>
        The formal syntax presented here is a complete schema representation of the object mapping suitable for automated validation of 
        EPP XML instances. The BEGIN and END tags are not part of the schema; they are used to note the beginning and ending of the schema
        for URI registration purposes.
      </t>
      
      <section title="Signed Mark Schema">

        <figure>
<artwork><![CDATA[
BEGIN
<?xml version="1.0" encoding="UTF-8"?>
<schema
  targetNamespace="urn:ietf:params:xml:ns:signedMark-1.0"
  xmlns:smd="urn:ietf:params:xml:ns:signedMark-1.0"
  xmlns:mark="urn:ietf:params:xml:ns:mark-1.0"
  xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"
  xmlns="http://www.w3.org/2001/XMLSchema"
  elementFormDefault="qualified">

  <annotation>
    <documentation>
      Schema for representing a Signed Mark object.
    </documentation>
  </annotation>

  <import namespace="urn:ietf:params:xml:ns:mark-1.0" />
  <import namespace="http://www.w3.org/2000/09/xmldsig#" />

  <!--
  Abstract Signed Mark object for replacement via substitution.
  -->
  <element name="abstractSignedMark" type="smd:abstractSignedMarkType" 
   abstract="true"/>

  <!--
  Empty type for use in extending for a Signed Mark object.
  -->
  <complexType name="abstractSignedMarkType"/>


  <element name="signedMark" type="smd:signedMarkType"
    substitutionGroup="smd:abstractSignedMark"/>

  <element name="encodedSignedMark" type="smd:encodedSignedMarkType"/>


  <complexType name="signedMarkType">
    <complexContent>
      <extension base="smd:abstractSignedMarkType">
        <sequence>
          <element name="id" type="mark:idType"/>
          <element name="issuerInfo" type="smd:issuerInfoType"/>
          <element name="notBefore" type="dateTime"/>
          <element name="notAfter" type="dateTime"/>
          <element ref="mark:abstractMark"/>
          <element ref="dsig:Signature"/>
        </sequence>
        <attribute name="id" type="ID" use="required"/>
      </extension>
    </complexContent>
  </complexType>

  <complexType name="issuerInfoType">
    <sequence>
      <element name="org" type="token"/>
      <element name="email" type="mark:minTokenType"/>
      <element name="url" type="token" minOccurs="0"/>
      <element name="voice" type="mark:e164Type" minOccurs="0"/>
    </sequence>
    <attribute name="issuerID" type="token" use="required"/>
  </complexType>


  <complexType name="encodedSignedMarkType">
    <simpleContent>
      <extension base="token">
        <attribute name="encoding" type="token" default="base64"/>
      </extension>
    </simpleContent>
  </complexType>
</schema>
END]]></artwork>
        </figure>
      </section>
      
      <section title="Mark Schema">
        
        <figure>
<artwork><![CDATA[
BEGIN
<?xml version="1.0" encoding="UTF-8"?>
<schema
  targetNamespace="urn:ietf:params:xml:ns:mark-1.0"
  xmlns:mark="urn:ietf:params:xml:ns:mark-1.0"
  xmlns="http://www.w3.org/2001/XMLSchema"
  elementFormDefault="qualified">

  <annotation>
    <documentation>
      Schema for representing a Trademark, also referred to
      as Mark.
    </documentation>
  </annotation>

  <!--
  Abstract Mark object for replacement via substitution.
  -->
  <element name="abstractMark" type="mark:abstractMarkType"
    abstract="true"/>

  <!--
  <mark:mark> element definition
  -->
  <element name="mark" type="mark:markType"
    substitutionGroup="mark:abstractMark"/>

  <!--
  Empty type for use in extending for a Mark object.
  -->
  <complexType name="abstractMarkType"/>

  <!--
  <mark:mark> child elements
  -->
  <complexType name="markType">
    <complexContent>
      <extension base="mark:abstractMarkType">
        <sequence>
          <element name="trademark" type="mark:trademarkType"
            minOccurs="0" maxOccurs="unbounded"/>
          <element name="treatyOrStatute"
            type="mark:treatyOrStatuteType" minOccurs="0"
            maxOccurs="unbounded"/>
          <element name="court" type="mark:courtType" minOccurs="0"
            maxOccurs="unbounded"/>
        </sequence>
      </extension>
    </complexContent>
  </complexType>

  <complexType name="holderType">
    <sequence>
      <element name="name" type="token" minOccurs="0"/>
      <element name="org" type="token" minOccurs="0"/>
      <element name="addr" type="mark:addrType"/>
      <element name="voice" type="mark:e164Type" minOccurs="0"/>
      <element name="fax" type="mark:e164Type" minOccurs="0"/>
      <element name="email" type="mark:minTokenType" minOccurs="0"/>
    </sequence>
    <attribute name="entitlement" type="mark:entitlementType"/>
  </complexType>

  <complexType name="contactType">
    <sequence>
      <element name="name" type="token"/>
      <element name="org" type="token" minOccurs="0"/>
      <element name="addr" type="mark:addrType"/>
      <element name="voice" type="mark:e164Type"/>
      <element name="fax" type="mark:e164Type" minOccurs="0"/>
      <element name="email" type="mark:minTokenType"/>
    </sequence>
    <attribute name="type" type="mark:contactTypeType"/>
  </complexType>

  <complexType name="trademarkType">
    <sequence>
      <element name="id" type="mark:idType"/>
      <element name="markName" type="token"/>
      <element name="holder" type="mark:holderType"
        maxOccurs="unbounded" />
      <element name="contact" type="mark:contactType" minOccurs="0"
        maxOccurs="unbounded"/>
      <element name="jurisdiction" type="mark:ccType"/>
      <element name="class" type="integer" minOccurs="0"
        maxOccurs="unbounded"/>
      <element name="label" type="mark:labelType" minOccurs="0"
        maxOccurs="unbounded"/>
      <element name="goodsAndServices" type="token" />
      <element name="apId" type="token" minOccurs="0"/>
      <element name="apDate" type="dateTime" minOccurs="0"/>
      <element name="regNum" type="token"/>
      <element name="regDate" type="dateTime"/>
      <element name="exDate" type="dateTime" minOccurs="0"/>
    </sequence>
  </complexType>

  <complexType name="treatyOrStatuteType">
    <sequence>
      <element name="id" type="mark:idType"/>
      <element name="markName" type="token"/>
      <element name="holder" type="mark:holderType"
        maxOccurs="unbounded" />
      <element name="contact" type="mark:contactType" minOccurs="0"
        maxOccurs="unbounded"/>
      <element name="protection" type="mark:protectionType"
        maxOccurs="unbounded"/>
      <element name="label" type="mark:labelType" minOccurs="0"
        maxOccurs="unbounded"/>
      <element name="goodsAndServices" type="token" />
      <element name="refNum" type="token"/>
      <element name="proDate" type="dateTime"/>
      <element name="title" type="token"/>
      <element name="execDate" type="dateTime"/>
    </sequence>
  </complexType>

  <complexType name="courtType">
    <sequence>
      <element name="id" type="mark:idType"/>
      <element name="markName" type="token"/>
      <element name="holder" type="mark:holderType"
        maxOccurs="unbounded" />
      <element name="contact" type="mark:contactType" minOccurs="0"
        maxOccurs="unbounded"/>
      <element name="label" type="mark:labelType" minOccurs="0"
        maxOccurs="unbounded"/>
      <element name="goodsAndServices" type="token" />
      <element name="refNum" type="token"/>
      <element name="proDate" type="dateTime"/>
      <element name="cc" type="mark:ccType"/>
      <element name="region" type="token" minOccurs="0"
        maxOccurs="unbounded"/>
      <element name="courtName" type="token"/>
    </sequence>
  </complexType>

  <!--
  Address (<mark:addr>) child elements
  -->
  <complexType name="addrType">
    <sequence>
      <element name="street" type="token" minOccurs="1" maxOccurs="3"/>
      <element name="city" type="token"/>
      <element name="sp" type="token" minOccurs="0"/>
      <element name="pc" type="mark:pcType" minOccurs="0"/>
      <element name="cc" type="mark:ccType"/>
    </sequence>
  </complexType>

  <!--
  <mark:protection> child elements
  -->
  <complexType name="protectionType">
    <sequence>
      <element name="cc" type="mark:ccType"/>
      <element name="region" type="token" minOccurs="0"/>
      <element name="ruling" type="mark:ccType" 
        minOccurs="0" maxOccurs="unbounded"/>
    </sequence>
  </complexType>

  <!--
  Postal code definition
  -->
  <simpleType name="pcType">
    <restriction base="token">
      <maxLength value="16"/>
    </restriction>
  </simpleType>

  <!--
  Country code definition
  -->
  <simpleType name="ccType">
    <restriction base="token">
      <length value="2"/>
    </restriction>
  </simpleType>

  <!--
  Phone number with extension definition
  -->
  <complexType name="e164Type">
    <simpleContent>
      <extension base="mark:e164StringType">
        <attribute name="x" type="token"/>
      </extension>
    </simpleContent>
  </complexType>

  <!--
  Phone number with extension definition
  -->
  <simpleType name="e164StringType">
    <restriction base="token">
      <pattern value="(\+[0-9]{1,3}\.[0-9]{1,14})?"/>
      <maxLength value="17"/>
    </restriction>
  </simpleType>

  <!--
  Id type definition
  -->
  <simpleType name="idType">
    <restriction base="token">
      <pattern value="\d+-\d+"/>
    </restriction>
  </simpleType>

  <!--
  DNS label type definition
  -->
  <simpleType name="labelType">
    <restriction base="token">
      <minLength value="1"/>
      <maxLength value="63"/>
      <pattern value="[a-zA-Z0-9]([a-zA-Z0-9\-]*[a-zA-Z0-9])?"/>
    </restriction>
  </simpleType>

  <!--
  Type used for email addresses
  -->
  <simpleType name="minTokenType">
    <restriction base="token">
      <minLength value="1"/>
    </restriction>
  </simpleType>

  <simpleType name="entitlementType">
    <restriction base="token">
      <enumeration value="owner"/>
      <enumeration value="assignee"/>
      <enumeration value="licensee"/>
    </restriction>
  </simpleType>

  <simpleType name="contactTypeType">
    <restriction base="token">
      <enumeration value="owner"/>
      <enumeration value="agent"/>
      <enumeration value="thirdparty"/>
    </restriction>
  </simpleType>
</schema>
END]]></artwork>
        </figure>
      </section>
    </section>
   
   
    
    <section anchor="IANA" title="IANA Considerations">
      <t>
        This document uses URNs to describe XML namespaces and XML schemas
	conforming to the registry mechanism described in <xref
	target="RFC3688"/>.
IANA has registered two URI assignments: signed mark (signedMark-1.0) and mark (mark-1.0).
      </t>    

<t>
<list style="symbols">
      <t>The signed mark namespace (signedMark-1.0) has been registered in the "ns" registry.

<vspace blankLines="1" />
          URI: urn:ietf:params:xml:ns:signedMark-1.0
<vspace blankLines="1" />
          Registrant Contact: IESG
<vspace blankLines="1" />
          XML: None.  Namespace URIs do not represent an XML specification.

      </t>

      <t>The signed mark schema (signedMark-1.0) has been registered in
      the "schema" registry.

<vspace blankLines="1" />
          URI: urn:ietf:params:xml:schema:signedMark-1.0
<vspace blankLines="1" />
          Registrant Contact: IESG
<vspace blankLines="1" />
          XML: See the &quot;Formal Syntax&quot; section of this document.

      </t>

      <t>The mark namespace (mark-1.0) has been registered in
      the "ns" registry.

<vspace blankLines="1" />
          URI: urn:ietf:params:xml:ns:mark-1.0
<vspace blankLines="1" />
          Registrant Contact: IESG
<vspace blankLines="1" />
          XML: None.  Namespace URIs do not represent an XML specification.

      </t>

      <t>The mark schema (mark-1.0) has been registered in the "schema" registry. 
<vspace blankLines="1" />
          URI: urn:ietf:params:xml:schema:mark-1.0
<vspace blankLines="1" />
          Registrant Contact: IESG
<vspace blankLines="1" />
          XML: See the &quot;Formal Syntax&quot; section of this document.

      </t>
</list>
</t>
    </section>
    
    <section anchor="Security" title="Security Considerations">
      <t>
        The security of a Signed Mark object depends on the security of the underlying XML Digital Signature (DSIG) algorithms.  As such, all the security
        considerations from <xref target="XMLDSIG" /> apply here as well.
      </t>  
      <t>
        The digital signature algorithm used in Signed Mark objects SHOULD be RSA-SHA256 <xref target="RFC6931" />.
        The size of the RSA key SHOULD be at least 2048 bits.  A valid reason
	for choosing something else would be if RSA-SHA256 is deemed to
        not provide sufficient security.
      </t>  
      <t>
        In the case of the ICANN TMCH, Signed Mark objects use the algorithms for digesting and signing recommended 
        in this document.
      </t>
      <t>
        Signed Mark objects are used primarily for domain name registrations in gTLDs during the Sunrise Period, but other third parties might be using them.
        A party using Signed Mark objects should verify that the digital signature is valid based on local policy.
        In the case of gTLDs, the Rights Protection Mechanism Requirements document <xref target="ICANN-TMCH" /> defines such policy, 
        and the PKI is defined in
        <xref target="TMCH" />. Implementations will need to implement such a PKI (or an equivalent) in order 
        for the signatures defined in this document to have any useful semantics.
      </t>
    </section>
    
  </middle>
  
  <back>
    <references title="Normative References">
      
      &RFC2119;
      &RFC3688;
      &RFC4648;  
      &RFC5322;
      &RFC5890;
      &RFC6931;
      
      <reference anchor="WIPO.ST3" target="http://www.wipo.int/standards/en/pdf/03-03-01.pdf">
        <front>
          <title abbrev='Recommended Standard on Two-Letter Codes for the Representation of States, Other Entities and Intergovernmental Organizations'>
            Recommended standard on two-letter codes for the representation of states, other entities and intergovernmental organizations
          </title>
          <author>
            <organization>WIPO</organization>
          </author><date year='2015' month='February' /><keyword>WIPO</keyword>
        </front>
       <seriesInfo name='Standard' value='ST.3' />
      </reference>

      <reference anchor="ISO3166-2" target="http://www.iso.org/iso/home/standards/country_codes.htm">
        <front>
          <title abbrev='International Standard for country codes and codes for their subdivisions'>
            International Standard for country codes and codes for their subdivisions
          </title>
          <author><organization>ISO</organization></author>
          <date year='2006' />
          <keyword>ISO</keyword>
        </front>
      </reference>

      <reference anchor="ICANN-TMCH" target="http://newgtlds.icann.org/en/about/trademark-clearinghouse/rpm-requirements-30sep13-en.pdf">
        <front>
          <title abbrev='ICANN TMCH, RPM Requirements'>Trademark Clearinghouse; Rights Protection Mechanism Requirements</title>
          <author><organization>ICANN</organization></author>
          <date year='2013' />
          <keyword>ICANN</keyword>
        </front>
      </reference>

      <reference anchor="XMLDSIG" target="http://www.w3.org/TR/xmldsig-core1">
        <front>
          <title abbrev='XML Signature Syntax and Processing'>XML Signature Syntax and Processing Version 1.1</title>
          <author><organization>W3C</organization></author>
          <date month="April" year='2013' />
          <keyword>W3C</keyword>
        </front>
<seriesInfo name='W3C' value='Recommendation' />
      </reference>

      <reference anchor="XMLC14N" target="http://www.w3.org/TR/2002/REC-xml-exc-c14n-20020718">
        <front>
          <title abbrev='Exclusive XML Canonicalization'>Exclusive XML Canonicalization Version 1.0</title>
          <author><organization>W3C</organization></author>
          <date month="July" year='2002' />
          <keyword>W3C</keyword>
        </front>
<seriesInfo name='W3C' value='Recommendation' />
      </reference>

      <reference anchor="WIPO-NICE-CLASSES" target="http://www.wipo.int/classifications/nice/en">
        <front>
          <title abbrev='WIPO Nice Classification'>Nice Classification</title>
          <author><organization>WIPO</organization></author>
          <date month="January" year='2016' />
          <keyword>WIPO</keyword>
        </front>
      </reference>

      <reference anchor="ITU.E164.2005" target="https://www.itu.int/rec/T-REC-E.164-201011-I/en">
        <front>
          <title abbrev='ITU-T Recommendation E.164'>The international public telecommunication numbering plan</title>
          <author><organization>International Telecommunication Union</organization></author>
          <date month="November" year='2010' />
          <keyword>ITU</keyword>
        </front>
       <seriesInfo name='ITU-T Recommendation' value='E.164' />
      </reference>
     
    </references>
    
    <references title="Informative References">
      
      &RFC5730;
      &RFC5105;

<!--draft-ietf-eppext-tmch-func-spec replaced by draft-ietf-regext-tmch-func-spec-00; Active, I-D Exists-->
<reference anchor='TMCH'>
<front>
<title>ICANN TMCH functional specifications</title>
<author initials='G' surname='Lozano' fullname='Gustavo Lozano'>
    <organization />
</author>
<date month='April' year='2016' />
</front>
<seriesInfo name='Work in Progress,' value='draft-ietf-regext-tmch-func-spec-00' />
</reference>

<!--draft-ietf-regext-launchphase-00; Active, I-D exists-->
<reference anchor='EPP-LAUNCH'>
<front>
<title>Launch Phase Mapping for the Extensible Provisioning Protocol (EPP)</title>
<author initials='J' surname='Gould' fullname='James Gould'>
    <organization />
</author>
<author initials='W' surname='Tan' fullname='Wil Tan'>
    <organization />
</author>
<author initials='G' surname='Brown' fullname='Gavin Brown'>
    <organization />
</author>
<date month='April' year='2016' />
</front>
<seriesInfo name='Work in Progress,' value='draft-ietf-regext-launchphase-00' />
</reference>
    </references>

     <section anchor="Acknowledgements" title="Acknowledgements" numbered="no">
      <t>

        Special thanks to Chris Wright for creating the first prototype of an SMD and to James Gould, 
        Wil Tan, and Gavin Brown for creating the mark
        and SMD definitions in "Launch Phase Mapping for the Extensible Provisioning Protocol (EPP)" 
        <xref target='EPP-LAUNCH'/>, on which this document is based. 
        Portions of the Security Considerations section were shamefully
        copied from RFC 5105 <xref target="RFC5105"/>. The author would like
	to acknowledge the following individuals for 
        their contributions to this document: 
        Scott Hollenbeck and Jan Jansen.
      </t>
    </section>
  </back>
</rfc>
