<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.mozilla.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Elie</id>
	<title>MozillaWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.mozilla.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Elie"/>
	<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/Special:Contributions/Elie"/>
	<updated>2026-11-02T06:21:58Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.17</generator>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Security/Features/Content_Hashing/Spec&amp;diff=330245</id>
		<title>Security/Features/Content Hashing/Spec</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Security/Features/Content_Hashing/Spec&amp;diff=330245"/>
		<updated>2011-07-15T22:23:15Z</updated>

		<summary type="html">&lt;p&gt;Elie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Specification=&lt;br /&gt;
&lt;br /&gt;
The content hashing mechanism aims at improving the browser caching performance and providing a means for website to enforce the integrity of their external resources.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Use cases=&lt;br /&gt;
&lt;br /&gt;
== How to specify the element hash value ? ==&lt;br /&gt;
&lt;br /&gt;
What is the best way to specify the element hash  ?&lt;br /&gt;
Potential candidates:&lt;br /&gt;
* adding a tag element : &amp;lt;img src=&amp;quot;a.jpg&amp;quot; hash=&amp;quot;yyyyyyyyyyy&amp;quot;&amp;gt;&lt;br /&gt;
* Use a manifest file&lt;br /&gt;
* Use a header &lt;br /&gt;
&lt;br /&gt;
= Technical issues =&lt;br /&gt;
&lt;br /&gt;
== External elements update ==&lt;br /&gt;
&lt;br /&gt;
How an external website can tell that the element request by the page was updated ?&lt;br /&gt;
&lt;br /&gt;
== Loading failure reporting ==&lt;br /&gt;
&lt;br /&gt;
How to report that an element failed to load because to the signature verification failed ? &lt;br /&gt;
Maybe using the SCP report mechanism ?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Potential security issues=&lt;br /&gt;
&lt;br /&gt;
== Second image collision attack ==&lt;br /&gt;
An attacker can potentially create a hash collision between a specially crafted file and a well known file if the hashing algorithm is weak.&lt;br /&gt;
MD5 must be avoided at all cost.&lt;br /&gt;
&lt;br /&gt;
== Integrity ==&lt;br /&gt;
Using the hash as an integrity mechanism is tricky because it can be delivered over HTTP. In this case a Man in the Middle attack can be performed.&lt;br /&gt;
Communicate this limitations to user and developer is tricky.  &lt;br /&gt;
&lt;br /&gt;
== Mime type confusion ==&lt;br /&gt;
&lt;br /&gt;
There is a potential issue with element cached as a specific mime-type and then used as another type. The canonical example being the gifjar attack.&lt;br /&gt;
http://www.gnucitizen.org/blog/java-jar-attacks-and-features/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Previous work =&lt;br /&gt;
&lt;br /&gt;
Previous work on the subject:&lt;br /&gt;
&lt;br /&gt;
* http://wiki.whatwg.org/wiki/Link_Hashes&lt;br /&gt;
* http://www.gerv.net/security/link-fingerprints/&lt;br /&gt;
&lt;br /&gt;
== Related RFCS ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* RFC 2803 - Digest Values for DOM (DOMHASH) http://tools.ietf.org/html/rfc2803 draft-hiroshi-dom-hash-00 http://tools.ietf.org/html/draft-hiroshi-dom-hash-00&lt;br /&gt;
* RFC 3972 - Cryptographically Generated Addresses (CGA) http://tools.ietf.org/html/rfc3972&lt;br /&gt;
* RFC 4982 - Support for Multiple Hash Algorithms in Cryptographically Generated Addresses (CGAs) http://tools.ietf.org/html/rfc4982&lt;br /&gt;
* RFC 4982 - Support for Multiple Hash Algorithms in Cryptographically Generated Addresses (CGAs) http://tools.ietf.org/html/rfc4982&lt;br /&gt;
* draft-ietf-csi-hash-threat-12 - SEND Hash Threat Analysis http://tools.ietf.org/html/draft-ietf-csi-hash-threat-12&lt;br /&gt;
* draft-thiemann-hash-urn-01 - A URN Namespace For Identifiers Based on Cryptographic Hashes http://tools.ietf.org/html/draft-thiemann-hash-urn-01&lt;br /&gt;
* RFC 2938 - Identifying Composite Media Features http://tools.ietf.org/html/rfc2938&lt;br /&gt;
* draft-bryan-ftp-hash-08 - File Transfer Protocol HASH Command for Cryptographic Hashes http://tools.ietf.org/html/draft-bryan-ftp-hash-08&lt;br /&gt;
* draft-ietf-ftpext2-hash-00 - File Transfer Protocol HASH Command for Cryptographic Hashes http://tools.ietf.org/html/draft-ietf-ftpext2-hash-00&lt;br /&gt;
* draft-eaton-oauth-bodyhash-00 - OAuth Request Body Hash http://tools.ietf.org/html/draft-eaton-oauth-bodyhash-00&lt;br /&gt;
* draft-arkko-mipv6-select-hash-00 - Selection of MIPv6 Security Level Using a Hashed Address http://tools.ietf.org/html/draft-arkko-mipv6-select-hash-00&lt;br /&gt;
* draft-irtf-cfrg-rhash-01 - Strengthening Digital Signatures via Randomized Hashing http://tools.ietf.org/html/draft-irtf-cfrg-rhash-01&lt;/div&gt;</summary>
		<author><name>Elie</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Security/Features/Content_Hashing/Spec&amp;diff=330243</id>
		<title>Security/Features/Content Hashing/Spec</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Security/Features/Content_Hashing/Spec&amp;diff=330243"/>
		<updated>2011-07-15T22:19:46Z</updated>

		<summary type="html">&lt;p&gt;Elie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Specification=&lt;br /&gt;
&lt;br /&gt;
The content hashing mechanism aims at improving the browser caching performance and providing a means for website to enforce the integrity of their external resources.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Use cases=&lt;br /&gt;
&lt;br /&gt;
== How to specify the element hash value ? ==&lt;br /&gt;
&lt;br /&gt;
What is the best way to specify the element hash  ?&lt;br /&gt;
Potential candidates:&lt;br /&gt;
* adding a tag element : &amp;lt;img src=&amp;quot;a.jpg&amp;quot; hash=&amp;quot;yyyyyyyyyyy&amp;quot;&amp;gt;&lt;br /&gt;
* Use a manifest file&lt;br /&gt;
* Use a header &lt;br /&gt;
&lt;br /&gt;
= Technical issues =&lt;br /&gt;
&lt;br /&gt;
== External elements update ==&lt;br /&gt;
&lt;br /&gt;
How an external website can tell that the element request by the page was updated ?&lt;br /&gt;
&lt;br /&gt;
== Loading failure reporting ==&lt;br /&gt;
&lt;br /&gt;
How to report that an element failed to load because to the signature verification failed ? &lt;br /&gt;
Maybe using the SCP report mechanism ?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Potential security issues=&lt;br /&gt;
&lt;br /&gt;
== Second image collision attack ==&lt;br /&gt;
An attacker can potentially create a hash collision between a specially crafted file and a well known file if the hashing algorithm is weak.&lt;br /&gt;
MD5 must be avoided at all cost.&lt;br /&gt;
&lt;br /&gt;
== Integrity ==&lt;br /&gt;
Using the hash as an integrity mechanism is tricky because it can be delivered over HTTP. In this case a Man in the Middle attack can be performed.&lt;br /&gt;
Communicate this limitations to user and developer is tricky.  &lt;br /&gt;
&lt;br /&gt;
== Mime type confusion ==&lt;br /&gt;
&lt;br /&gt;
There is a potential issue with element cached as a specific mime-type and then used as another type. The canonical example being the gifjar attack.&lt;br /&gt;
http://www.gnucitizen.org/blog/java-jar-attacks-and-features/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Previous work ==&lt;br /&gt;
&lt;br /&gt;
Previous work on the subject:&lt;br /&gt;
&lt;br /&gt;
* http://wiki.whatwg.org/wiki/Link_Hashes&lt;br /&gt;
* http://www.gerv.net/security/link-fingerprints/&lt;/div&gt;</summary>
		<author><name>Elie</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Security/Features/Content_Hashing/Spec&amp;diff=330242</id>
		<title>Security/Features/Content Hashing/Spec</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Security/Features/Content_Hashing/Spec&amp;diff=330242"/>
		<updated>2011-07-15T22:12:08Z</updated>

		<summary type="html">&lt;p&gt;Elie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Specification=&lt;br /&gt;
&lt;br /&gt;
The content hashing mechanism aims at improving the browser caching performance and providing a means for website to enforce the integrity of their external resources.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Use cases=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Technical issues =&lt;br /&gt;
&lt;br /&gt;
== External elements update ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Potential security issues=&lt;br /&gt;
&lt;br /&gt;
== Second image collision attack ==&lt;br /&gt;
An attacker can potentially create a hash collision between a specially crafted file and a well known file if the hashing algorithm is weak.&lt;br /&gt;
MD5 must be avoided at all cost.&lt;br /&gt;
&lt;br /&gt;
== Integrity ==&lt;br /&gt;
Using the hash as an integrity mechanism is tricky because it can be delivered over HTTP. In this case a Man in the Middle attack can be performed.&lt;br /&gt;
Communicate this limitations to user and developer is tricky.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Previous work ==&lt;br /&gt;
&lt;br /&gt;
Previous work on the subject:&lt;br /&gt;
&lt;br /&gt;
* http://wiki.whatwg.org/wiki/Link_Hashes&lt;br /&gt;
* http://www.gerv.net/security/link-fingerprints/&lt;/div&gt;</summary>
		<author><name>Elie</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Security/Features/Content_Hashing/Spec&amp;diff=330240</id>
		<title>Security/Features/Content Hashing/Spec</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Security/Features/Content_Hashing/Spec&amp;diff=330240"/>
		<updated>2011-07-15T22:03:03Z</updated>

		<summary type="html">&lt;p&gt;Elie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Specification=&lt;br /&gt;
&lt;br /&gt;
The content hashing mechanism aims at improving the browser caching performance and providing a means for website to enforce the integrity of their external resources.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Use cases=&lt;/div&gt;</summary>
		<author><name>Elie</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Security/Features/Content_Hashing/Spec&amp;diff=330239</id>
		<title>Security/Features/Content Hashing/Spec</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Security/Features/Content_Hashing/Spec&amp;diff=330239"/>
		<updated>2011-07-15T22:02:31Z</updated>

		<summary type="html">&lt;p&gt;Elie: Created page with &amp;quot;=Specification=  The content hashing mechanism aims at improving the browser caching performance and providing a means for website to enforce the integrity of their external reso...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Specification=&lt;br /&gt;
&lt;br /&gt;
The content hashing mechanism aims at improving the browser caching performance and providing a means for website to enforce the integrity of their external resources.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Use cases==&lt;/div&gt;</summary>
		<author><name>Elie</name></author>
	</entry>
</feed>