HTML Standard Tracker

Filter

File a bug

SVNBugCommentTime (UTC)
7012[Gecko] [Internet Explorer] [Opera] [Webkit] Add a spec for http+aes:// and https+aes:// to allow sensitive resources to be held on untrusted servers.2012-03-02 23:24
@@ -110603,20 +110603,153 @@ if (s = prompt('What is your name?')) {
    <dd>
     This document is the relevant specification.
    </dd>
    <dt>Related information:</dt>
    <dd>None.</dd>
   </dl>
 
 <!--START w3c-html--><!--PING-->
 
 
+  <h3><dfn title="scheme-http+aes"><code>http+aes</code> scheme</dfn></h3>
+
+  <p>This section describes a URL scheme registration for the IANA URI
+  scheme registry. <a href="#refsRFC4395">[RFC4395]</a></p>
+
+  <dl>
+   <dt>URI scheme name:</dt>
+   <dd><code title="">http+aes</code></dd>
+   <dt>Status:</dt>
+   <dd>permanent</dd>
+   <dt>URI scheme syntax:</dt>
+   <dd>Same as <code title="">http</code>, with the <code
+   title="">userinfo</code> component instead used for specifying the
+   decryption key. (This key is provided in the form of 16, 24, or 32
+   bytes encoded as ASCII and escaped as necessary using the URL
+   escape mechanism; it is not in the "username:password" form, and
+   the ":" character is not special in this component when using this
+   scheme.)</dd>
+   <dt>URI scheme semantics:</dt>
+   <dd>Same as <code title="">http</code>, except that the message
+   body must be decrypted by applying the AES-CTR algorithm using the
+   key specified in the URL's <code title="">userinfo</code>
+   component, after unescaping it from the URL syntax to bytes. If
+   there is no such component, or if that component, when unescaped
+   from the URL syntax to bytes, does not consist of exactly 16, 24,
+   or 32 bytes, then the user agent must act as if the resource could
+   not be obtained due to a network error, and may report the problem
+   to the user.</dd>
+   <dt>Encoding considerations:</dt>
+   <dd>Same as <code title="">http</code>, but the <code
+   title="">userinfo</code> component represents bytes encoded using
+   ASCII and the URL escape mechanism.</dd>
+   <dt>Applications/protocols that use this URI scheme name:</dt>
+   <dd>Same as <code title="">http</code>.</dd>
+   <dt>Interoperability considerations:</dt>
+   <dd>Same as <code title="">http</code>, but specifically for
+   private resources that are hosted by untrusted intermediary servers
+   as in a content delivery network.</dd>
+<!--ADD-TOPIC:Security-->
+   <dt>Security considerations:</dt>
+   <dd>
+    <p>URLs using this scheme contain sensitive information (the key
+    used to decrypt the referenced content) and as such should be
+    handled with care, e.g. only sent over TLS-encrypted connections,
+    and only sent to users who are authorized to access the encrypted
+    content.</p>
+    <p>User agents are encouraged to not show the key in user
+    interface elements where the URL is displayed: first, it's ugly
+    and not useful to the user; and second, it could be used to
+    obscure the domain name.</p>
+    <p>The <code title="">http+aes</code> URL scheme only enables the
+    <em>content</em> of a particular resource to be encrypted. Any
+    sensitive information held in HTTP headers is still transmitted in
+    the clear. The length of the resource is still visible. The rate
+    at which the data is transmitted is also unobscured. The name of
+    the resource is not hidden. If this scheme is used to obscure
+    private information, it is important to consider how these side
+    channels might leak information.</p>
+    <p class="example">For example, the length of a file containing
+    only the user's age in seconds encoded in ASCII would easily let
+    an attacker watching the network traffic or with access to the
+    system hosting the files determine if the user was less than 3
+    years old, less than 30 years old, or more than 30 years old, just
+    from the length of the file. Padding the file to ten digits
+    (either with trailing spaces or leading zeros) would make all ages
+    from zero to three hundred indistinguishable.</p>
+    <p class="example">Another example would be the file name.
+    Consider a bank where each user first downloads a "data.json"
+    file, which points to some other files for more data, such that
+    users in debt download a "debt.json" file while users in credit
+    download a "credit.json" file. In such a scenario, users can be
+    categorised by an attacker watching network traffic or with access
+    to the system hosting the files without the attacker ever having
+    to decrypt the "data.json" files.</p>
+    <p>The security considerations that apply to <code
+    title="">http</code> apply as well.</p>
+   </dd>
+<!--REMOVE-TOPIC:Security-->
+   <dt>Contact:</dt>
+   <dd>Ian Hickson &lt;ian@hixie.ch></dd>
+   <dt>Author/Change controller:</dt>
+   <dd>Ian Hickson &lt;ian@hixie.ch></dd>
+   <dt>References:</dt>
+   <dd>
+    The <code title="">http</code> URL scheme is defined in:
+    <a href="http://tools.ietf.org/html/draft-ietf-httpbis-p1-messaging">http://tools.ietf.org/html/draft-ietf-httpbis-p1-messaging</a>
+   </dd>
+  </dl>
+
+
+  <h3><dfn title="scheme-https+aes"><code>https+aes</code> scheme</dfn></h3>
+
+  <p>This section describes a URL scheme registration for the IANA URI
+  scheme registry. <a href="#refsRFC4395">[RFC4395]</a></p>
+
+  <dl>
+   <dt>URI scheme name:</dt>
+   <dd><code title="">https+aes</code></dd>
+   <dt>Status:</dt>
+   <dd>permanent</dd>
+   <dt>URI scheme syntax:</dt>
+   <dd>Same as <code title="">http+aes</code>.</dd>
+   <dt>URI scheme semantics:</dt>
+   <dd>Same as <code title="">http+aes</code>.</dd>
+   <dt>Encoding considerations:</dt>
+   <dd>Same as <code title="">http+aes</code>.</dd>
+   <dt>Applications/protocols that use this URI scheme name:</dt>
+   <dd>Same as <code title="">https</code>.</dd>
+   <dt>Interoperability considerations:</dt>
+   <dd>Same as <code title="">https</code>, but specifically for
+   private resources that are hosted by untrusted intermediary servers
+   as in a content delivery network.</dd>
+<!--ADD-TOPIC:Security-->
+   <dt>Security considerations:</dt>
+   <dd>
+    <p>The security considerations that apply to <code
+    title="">http+aes</code> and <code title="">https</code> apply as
+    well.</p>
+   </dd>
+<!--REMOVE-TOPIC:Security-->
+   <dt>Contact:</dt>
+   <dd>Ian Hickson &lt;ian@hixie.ch></dd>
+   <dt>Author/Change controller:</dt>
+   <dd>Ian Hickson &lt;ian@hixie.ch></dd>
+   <dt>References:</dt>
+   <dd>
+    The <code title="">https</code> URL scheme is defined in:
+    <a href="http://tools.ietf.org/html/draft-ietf-httpbis-p1-messaging">http://tools.ietf.org/html/draft-ietf-httpbis-p1-messaging</a>
+   </dd>
+  </dl>
+  
+
+
   <h3><dfn title="scheme-web"><code>web+</code> scheme prefix</dfn></h3>
 
   <p>This section describes a convention for use with the IANA URI
   scheme registry. It does not itself register a specific scheme. <a
   href="#refsRFC4395">[RFC4395]</a></p>
 
   <dl>
    <dt>URI scheme name:</dt>
    <dd>
     Schemes starting with the four characters "<code

|