Link 指紋s
見解/翻訳/版 0.6 - 2008-07-09
Introduction
Link 指紋s is a system for 許すing a HTML link to 言及/関連 not only a particular 資源, but a particular 見解/翻訳/版 of that 資源, in a way that the fetching (弁護士の)依頼人 can 実証する. This is an updated and ひどく 修正するd 見解/翻訳/版 of an 初めの 提案 in a blog 地位,任命する.
初めは, link 指紋s were 提案するd as an 拡張 to URL syntax. This idea met with a chilly 歓迎会 on さまざまな IETF discussion 名簿(に載せる)/表(にあげる)s, so it has been reformulated as an 拡張 to HTML. This makes it useful in a narrower 始める,決める of 状況s, but half a loaf is better than no bread.
Idea
We define an 付加 せいにする, "checksum", which is valid on all HTML elements which 言及/関連 a remote 資源 using a URL - which I believe are <a>, <link>, <img>, <script>, <style>, <反対する>, <applet>, <area>, <iframe> and <でっちあげる,人を罪に陥れる>. (Some of these elements have more than one parameter which can be a URI, but it seems to me that the 'main' one is obvious in all 事例/患者s.) For example:
<a href="http://www.example.com/path/to/downloadfile.貯蔵所" checksum="sha256:09F9...">Download downloadfile.貯蔵所</a>
The "sha256" is a short lower-事例/患者 string identifying a particular hash algorithm and the numbers and letters are the SHA256 digest, or "指紋", of the とじ込み/提出する in question. For 緩和する of 実施, this 基準 supports a 選び出す/独身 hash algorithm, SHA-256, which is considered 安全な・保証する at the time of 令状ing. However, if problems develop, その上の algorithms could be standardised.
When downloading a とじ込み/提出する with a URL of this form, the (弁護士の)依頼人 may 計算する the checksum of the downloaded とじ込み/提出する and tell the 使用者 if there is a mismatch. If there is a mismatch, the (弁護士の)依頼人 MUST 削除する the とじ込み/提出する.
This has several 使用/適用s. For example, if a company is 供給するing a 安全 update, by perhaps linking to it from their website or in an email, then the downloader can be more 確かな that they are getting the ーするつもりであるd とじ込み/提出する. To 代用品,人 a trojan, the 攻撃者 would need to 切り開く/タクシー/不正アクセス both the download 場所/位置 and the website 供給(する)ing the (警察などへの)密告,告訴(状) - or the 使用者's mailbox. In 新規加入, if the company is using a mirror 網状組織 to 供給(する) the updates, it gives them some 信用/信任 that the 分配するd machines in the 網状組織 are not serving a corrupt or trojaned とじ込み/提出する.
This 手段 is not supposed to be a 交替/補充 for "proper" cryptography. It is 単に a way of raising the 妨げる/法廷,弁護士業, whose 長,指導者 advantage is that it 要求するs no work from the end 使用者. However, it would have 供給するd much quicker notification of at least some of the 最近の ソフトウェア download trojaning attacks. Here's a quick 名簿(に載せる)/表(にあげる) of the number of times I have discovered that this has happened:
- Sendmail (2002)
- OpenSSH (2002)
- tcpdump/libpcap (2002)
- Fragrouter (2002)
- BitchX (2003; would not have been 妨げるd by LF)
- PostNuke (2004; not sure if LF would have helped)
- SquirrelMail (2007)
- WordPress (2007)
Advantages
- Neither とじ込み/提出する provider nor 使用者 needs any specialised PKI 道具s.
- There is no need for any changes to web servers.
- The 改善するd 安全 is 供給するd in supporting 使用者 スパイ/執行官s without any need for 使用者 interaction or configuration.
- The 安全 can be 供給するd on any type of とじ込み/提出する, no 事柄 what its 内部の structure.
- No 誤った sense of 安全 is given - if the とじ込み/提出する downloads 正確に, the 使用者 スパイ/執行官 should behave as with a normal, unmarked download.
Error Behaviour
The checksum can be checked for 井戸/弁護士席-formedness (訂正する number of characters, hex digits only) at the time it is requested. If it is not 井戸/弁護士席-formed, the 使用者 スパイ/執行官 should give an error straight away and not request the とじ込み/提出する. E.g. "This link is broken; download is not possible.".
If, after download, the hashes do not match, the (弁護士の)依頼人 MUST 削除する the とじ込み/提出する so as to 妨げる the 使用者 伸び(る)ing 接近 to it. I believe this strict behaviour is reasonable, as the mismatch could be for one of several 推論する/理由s:
- The download has been unrecoverably corrupted
- The download was changed (trojaned)
- The 初めの URL was incorrectly created
In all 事例/患者s, giving the 使用者 接近 to the downloaded data is a 危険 - in the 事例/患者 of #3, because you can't tell the difference between it and #2. The URL creator 明白に thought the data important enough to use link 指紋s, and the 保護 has flagged a problem. So going 支援する to the owner for a proper URL is reasonable. If とじ込み/提出する owners want downloaders to 保持する the download even if the hash is different, they should 簡単に not use link 指紋s.
So the error would say something like: "警告: the とじ込み/提出する at URL <url> is corrupted and unusable. Please 接触する the person or 場所/位置 責任がある the とじ込み/提出する." Or, for something like a download 経営者/支配人: "とじ込み/提出する corrupt. Download failed. 接触する とじ込み/提出する owner".
前進するd 使用者s could, of course, re-request the とじ込み/提出する without the 指紋 using Copy Link 場所 and pasting into the URL 妨げる/法廷,弁護士業. But it is assumed that anyone who knows how to do that would understand the consequences.
反対s
- This is just a reinvention of the Content-MD5 HTTP header
- No. Content-MD5 is sent by the same server which is serving the とじ込み/提出する; if the とじ込み/提出する gets changed or corrupted, the web server will most likely recalculate the Content-MD5 header. So there is no 増加する in 安全.
- If the browser gives an error, people will just use another browser
- This argument could be used against any 計画/陰謀 which 妨げるs browser 使用者s doing dangerous things. Yet still browsers have recently 器具/実施するd anti-phishing and anti-malware 科学(工学)技術s. Also, if one person bypasses the error by switching browser, another will see the significance and 警報 the 場所/位置. Only a subset of 使用者s have to be using a LF-supporting (弁護士の)依頼人 in order for the takedown time for 偽の 見解/翻訳/版s of とじ込み/提出するs to be 改善するd, and therefore the 保護 level to be 増加するd.
その上の Considerations
For 安全 推論する/理由s, the 指紋 would need to be 保存するd through any redirects. Such redirects should not be able to 無視/無効 the 指紋 with another one.
Compatibility
Using an せいにする to 持つ/拘留する the checksum (警察などへの)密告,告訴(状) makes the links 完全に backwardly-両立できる with 現在の HTML 使用者 スパイ/執行官s. They will 単に fetch the とじ込み/提出する and not check the checksum, which is the same behaviour as before the introduction of Link 指紋s. Their 保護 comes from the fact that hopefully a downloader using a link-指紋-aware (弁護士の)依頼人 will raise the alarm sooner than the tiny number of downloaders who 現実に check 供給するd checksums manually.
Link 指紋s could also be used on とじ込み/提出するs ーするつもりであるd for 陳列する,発揮する rather than download, but this is not considered a 最初の/主要な use 事例/患者.
(弁護士の)依頼人s are encouraged not to 器具/実施する any hash algorithm other than SHA-256, until and unless SHA-256 is 設立する to have 欠陥s. 増殖 of algorithms raises the 重荷(を負わせる) on 器具/実施するing (弁護士の)依頼人s. New algorithms should be agreed with other implementors, and must be 解放する/自由な of 特許 encumbrance.
However, for 今後s-compatibility and later extensibility, the parsing algorithm is as follows. Take the contents of the "checksum" せいにする, and 分裂(する) on semicolon. For each resulting string (one, in the ありふれた 事例/患者), (土地などの)細長い一片 all whitespace and then look for a known hash 指名する (followed by 結腸) as a prefix. 過程 the 残りの人,物 of the text によれば the (弁護士の)依頼人's knowledge of that algorithm. (弁護士の)依頼人s should silently ignore hash prefixes (e.g. "sha1:") they do not recognise. This 計画/陰謀 許すs for 多重の algorithms to be 明示するd during any 未来 period of 移行.
Credits
Thanks to Microsoft for unwittingly giving me the idea for this by 蓄える/店ing 安全 updates in directories 指名するd using GUIDs.