<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY RFC2119 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC7595 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.7595.xml">
<!ENTITY RFC3986 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3986.xml">
<!ENTITY RFC5234 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5234.xml">
]>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<?rfc strict="yes" ?>
<?rfc toc="yes"?>
<?rfc tocdepth="4"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes" ?>
<?rfc compact="no" ?>
<?rfc subcompact="no" ?>
<rfc category="info" docName="draft-salgado-hxxp-01" ipr="trust200902">

  <front>
    <title>The "hxxp" and "hxxps" URI Schemes</title>

    <author fullname="Hugo Salgado" initials="H.S." surname="Salgado">
      <organization>NIC Chile</organization>
      <address>
        <postal>
          <street>Miraflores 222, piso 14</street>
          <city>Santiago</city>
          <code>CP 8320198</code>
          <country>CL</country>
        </postal>
        <phone>+56 2 29407700</phone>
        <email>hsalgado@nic.cl</email>
      </address>
    </author>

    <date year="2017" />

    <area>General</area>

    <workgroup>Internet Engineering Task Force</workgroup>

    <keyword>hxxp</keyword>

    <abstract>
      <t>This document describes the "hxxp" and "hxxps" URI schemes, which are widely used
   by the security community to obfuscate an http or https URI to
   avoid being accidentaly interpreted and loaded by a web browser or user-agent.
      </t>
    </abstract>
  </front>

  <middle>
    <section title="Introduction">

  <t>This document describes the "hxxp" and "hxxps" URI schemes, which are widely used
   by the security community to obfuscate an http or https URI to
   avoid being accidentaly interpreted and loaded by a web browser or
   user-agent.</t>
  
<t>    These schemes are used in case the resource is dangerous and there is security risks
    on being automatically processed by an application, such a pre-loading mechanism in web user agents. It also prevents the creation of "clickables" areas in user interfaces, which could detect http or https URIs automatically. </t>

<t>The purpose of this registration is to document
   its use, prevent any registration of this scheme in the future, explicitly recommend to web application developers
   to never act with this URI schemes in any way, and provide a safe method for the security community to share malicious information. These schemes must not
   be treated as an http or https schemes, and must not be identified as web resources.
   Its consumption is only for humans and documentation, and should be
   handled with caution by security professionals.</t>


      <section title="Requirements Language">
        <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>
      </section>
    </section>

    <?rfc needLines="28" ?>

    <section title="URI Scheme Specification">

      <section anchor="syntax"
             title="URI Scheme Syntax">
      <figure>
        <preamble>The "hxxp" URI syntactically conforms to the &lt;hxxp-uri&gt; rule below,
            expressed using the <xref target="RFC5234">Augmented Backus-Naur Form (ABNF)</xref>:
        </preamble>

        <artwork><![CDATA[

     hxxp-uri = "hxxp:" hxxp-token [ hxxp-query ] [ hxxp-fragment ]
     hxxp-token = *pchar
     hxxp-query = "?" query
     hxxp-fragment = "#" fragment
     pchar     = <as specified in RFC 3986, Appendix A>
     query     = <as specified in RFC 3986, Appendix A>
     fragment  = <as specified in RFC 3986, Appendix A>

            ]]></artwork>
      </figure>
      <figure>
        <preamble>The "hxxps" URI syntactically conforms to the &lt;hxxps-uri&gt; rule below,
            expressed using the <xref target="RFC5234">Augmented Backus-Naur Form (ABNF)</xref>:
        </preamble>

        <artwork><![CDATA[

     hxxps-uri = "hxxps:" hxxps-token [ hxxps-query ] [ hxxps-fragment ]
     hxxps-token = *pchar
     hxxps-query = "?" query
     hxxps-fragment = "#" fragment
     pchar     = <as specified in RFC 3986, Appendix A>
     query     = <as specified in RFC 3986, Appendix A>
     fragment  = <as specified in RFC 3986, Appendix A>

            ]]></artwork>
      </figure>
    </section>

    <section anchor="semantics" title="URI Scheme Semantics">

        <t>The resource that is referenced by a particular "hxxp" or "hxxps" URI is
            NOT meant to be interpreted or parsed in any way for applications, or
            any automated means. The resource MUST be interpreted and consumed
            by human security professionals.</t>

   </section>

   <section anchor="encoding" title="Encoding Considerations">
       <t>"hxxp" and "hxxps" URIs are subject to encoding rules as defined in <xref target="RFC3986">RFC 3986</xref>.</t>
   </section>

 </section>

    <section anchor="Acknowledgements" title="Acknowledgements">
        <t>The author acknowledges the suggestions and comments made by Fernando Gont and Harlan Lieberman-Berg, for the first revision.</t>
    </section>

    <section anchor="IANA" title="IANA Considerations">

        <section title="URI Scheme Registration">

   <t>The IANA is requested to register "hxxp" and "hxxps" URI schemes in the "Provisional URI
   Schemes" registry.  The information below is provided according to
   the guidelines from <xref target="RFC7595">RFC 7595</xref>:</t>

    <t>-----</t>
    <t>Scheme name: hxxp</t>
    <t>Status: Provisional</t>
    <t>Applications/protocols that use this scheme name: "hxxp" URIs are forbidden to be used by applications.</t>
    <t>Contact: Hugo Salgado &lt;hsalgado@nic.cl&gt;</t>
    <t>Change controller: Hugo Salgado &lt;hsalgado@nic.cl&gt;</t>
    <t>References: "The "hxxp" and "hxxps" URI Schemes" Internet Draft, https://datatracker.ietf.org/doc/draft-salgado-hxxp/</t>
    <t>-----</t>
    <t>   </t>
    <t>-----</t>
    <t>Scheme name: hxxps</t>
    <t>Status: Provisional</t>
    <t>Applications/protocols that use this scheme name: "hxxps" URIs are forbidden to be used by applications.</t>
    <t>Contact: Hugo Salgado &lt;hsalgado@nic.cl&gt;</t>
    <t>Change controller: Hugo Salgado &lt;hsalgado@nic.cl&gt;</t>
    <t>References: "The "hxxp" and "hxxps" URI Schemes" Internet Draft, https://datatracker.ietf.org/doc/draft-salgado-hxxp/</t>
    <t>-----</t>

  </section>

    </section>

    <section anchor="Security" title="Security Considerations">
        <t>As stated in the Introduction, the "hxxp" and "hxxps" schemes are forbidden to be used
            or interpreted by applications. These schemes must be consumed only by humans.</t>
        <t>Application developers are encouraged to forbid "hxxp" and "hxxps" schemes URIs inside HTML anchors or tags.</t>
    </section>
  </middle>

  <back>

    <references title="Normative References">
      &RFC3986;
      &RFC5234;
      &RFC2119;

    </references>

    <references title="Informative References">
      &RFC7595;
    </references>

    <!-- Change Log

v00 2017-04-27  HS   Initial version

v01 2017-05-09  HS   Added hxxps and revision comments

    -->

  </back>
</rfc>
