Internet Engineering Task Force H. Salgado
Internet-Draft NIC Chile
Intended status: Informational May 9, 2017
Expires: November 10, 2017

The "hxxp" and "hxxps" URI Schemes
draft-salgado-hxxp-01

Abstract

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.

Status of This Memo

This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.

Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at http://datatracker.ietf.org/drafts/current/.

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

This Internet-Draft will expire on November 10, 2017.

Copyright Notice

Copyright (c) 2017 IETF Trust and the persons identified as the document authors. All rights reserved.

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.


Table of Contents

1. Introduction

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.

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.

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.

1.1. Requirements Language

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 RFC 2119 [RFC2119].

2. URI Scheme Specification

2.1. URI Scheme Syntax

The "hxxp" URI syntactically conforms to the <hxxp-uri> rule below, expressed using the Augmented Backus-Naur Form (ABNF) [RFC5234]:


     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>

            

The "hxxps" URI syntactically conforms to the <hxxps-uri> rule below, expressed using the Augmented Backus-Naur Form (ABNF) [RFC5234]:


     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>

            

2.2. URI Scheme Semantics

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.

2.3. Encoding Considerations

"hxxp" and "hxxps" URIs are subject to encoding rules as defined in RFC 3986 [RFC3986].

3. Acknowledgements

The author acknowledges the suggestions and comments made by Fernando Gont and Harlan Lieberman-Berg, for the first revision.

4. IANA Considerations

4.1. URI Scheme Registration

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 RFC 7595 [RFC7595]:

-----

Scheme name: hxxp

Status: Provisional

Applications/protocols that use this scheme name: "hxxp" URIs are forbidden to be used by applications.

Contact: Hugo Salgado <hsalgado@nic.cl>

Change controller: Hugo Salgado <hsalgado@nic.cl>

References: "The "hxxp" and "hxxps" URI Schemes" Internet Draft, https://datatracker.ietf.org/doc/draft-salgado-hxxp/

-----

-----

Scheme name: hxxps

Status: Provisional

Applications/protocols that use this scheme name: "hxxps" URIs are forbidden to be used by applications.

Contact: Hugo Salgado <hsalgado@nic.cl>

Change controller: Hugo Salgado <hsalgado@nic.cl>

References: "The "hxxp" and "hxxps" URI Schemes" Internet Draft, https://datatracker.ietf.org/doc/draft-salgado-hxxp/

-----

5. Security Considerations

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.

Application developers are encouraged to forbid "hxxp" and "hxxps" schemes URIs inside HTML anchors or tags.

6. References

6.1. Normative References

[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997.
[RFC3986] Berners-Lee, T., Fielding, R. and L. Masinter, "Uniform Resource Identifier (URI): Generic Syntax", STD 66, RFC 3986, DOI 10.17487/RFC3986, January 2005.
[RFC5234] Crocker, D. and P. Overell, "Augmented BNF for Syntax Specifications: ABNF", STD 68, RFC 5234, DOI 10.17487/RFC5234, January 2008.

6.2. Informative References

[RFC7595] Thaler, D., Hansen, T. and T. Hardie, "Guidelines and Registration Procedures for URI Schemes", BCP 35, RFC 7595, DOI 10.17487/RFC7595, June 2015.

Author's Address

Hugo Salgado NIC Chile Miraflores 222, piso 14 Santiago, CP 8320198 CL Phone: +56 2 29407700 EMail: hsalgado@nic.cl