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
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.
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 (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.
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.
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].
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>
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.
"hxxp" and "hxxps" URIs are subject to encoding rules as defined in RFC 3986 [RFC3986].
The author acknowledges the suggestions and comments made by Fernando Gont and Harlan Lieberman-Berg, for the first revision.
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/
-----
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.
[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. |
[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. |