Show
Ignore:
Timestamp:
02/19/2008 03:44:24 PM (10 months ago)
Author:
dave
Message:

generated HTML files.

Location:
dotorg/trunk/html/beps
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • dotorg/trunk/html/beps/bep_0000.html

    r10883 r10892  
    3838<tr class="field"><th class="field-name">Title:</th><td class="field-body">Index of BitTorrent Enhancement Proposals</td> 
    3939</tr> 
    40 <tr class="field"><th class="field-name">Version:</th><td class="field-body">10852</td> 
     40<tr class="field"><th class="field-name">Version:</th><td class="field-body">10883</td> 
    4141</tr> 
    42 <tr class="field"><th class="field-name">Last-Modified:</th><td class="field-body"><a class="reference external" href="https://svn.bittorrent.com/trac.cgi/browser/dotorg/trunk/html/beps/bep_0000.rst">2008-02-15 16:07:57 -0800 (Fri, 15 Feb 2008)</a></td> 
     42<tr class="field"><th class="field-name">Last-Modified:</th><td class="field-body"><a class="reference external" href="https://svn.bittorrent.com/trac.cgi/browser/dotorg/trunk/html/beps/bep_0000.rst">2008-02-19 14:39:51 -0800 (Tue, 19 Feb 2008)</a></td> 
    4343</tr> 
    4444<tr class="field"><th class="field-name">Author:</th><td class="field-body">David Harrison &lt;dave&#32;&#97;t&#32;bittorrent.com&gt;</td> 
     
    116116</tr> 
    117117<tr><td><span class="raw-html"><A HREF="bep_0017.html">17</A></span></td> 
    118 <td><span class="raw-html"><A HREF="bep_0017.html">HTTP Seeding</A></span></td> 
     118<td><span class="raw-html"><A HREF="bep_0017.html">HTTP Seeding (Hoffman-style) </A></span></td> 
    119119</tr> 
    120120<tr><td><span class="raw-html"><A HREF="bep_1000.html">1000</A></span></td> 
  • dotorg/trunk/html/beps/bep_0008.html

    r10883 r10892  
    3838<tr class="field"><th class="field-name">Title:</th><td class="field-body">Tracker Peer Obfuscation</td> 
    3939</tr> 
    40 <tr class="field"><th class="field-name">Version:</th><td class="field-body">10851</td> 
    41 </tr> 
    42 <tr class="field"><th class="field-name">Last-Modified:</th><td class="field-body"><a class="reference external" href="https://svn.bittorrent.com/trac.cgi/browser/dotorg/trunk/html/beps/bep_0008.rst">2008-02-15 15:04:41 -0800 (Fri, 15 Feb 2008)</a></td> 
     40<tr class="field"><th class="field-name">Version:</th><td class="field-body">10891</td> 
     41</tr> 
     42<tr class="field"><th class="field-name">Last-Modified:</th><td class="field-body"><a class="reference external" href="https://svn.bittorrent.com/trac.cgi/browser/dotorg/trunk/html/beps/bep_0008.rst">2008-02-19 15:44:01 -0800 (Tue, 19 Feb 2008)</a></td> 
    4343</tr> 
    4444<tr class="field"><th class="field-name">Author:</th><td class="field-body">David Harrison &lt;dave&#32;&#97;t&#32;bittorrent.com&gt;, Anthony Ciani &lt;tony&#32;&#97;t&#32;ciani.phy.uic.edu&gt;, Arvid Norberg &lt;arvid&#32;&#97;t&#32;bittorrent.com&gt;, Greg Hazel &lt;greg&#32;&#97;t&#32;bittorrent.com&gt;</td> 
     
    5858<p class="topic-title first">Contents</p> 
    5959<ul class="simple"> 
    60 <li><a class="reference internal" href="#announce-parameter" id="id8">Announce Parameter</a></li> 
     60<li><a class="reference internal" href="#announce-parameters" id="id8">Announce Parameters</a></li> 
    6161<li><a class="reference internal" href="#announce-response" id="id9">Announce Response</a></li> 
    62 <li><a class="reference internal" href="#peer-list-obfuscation" id="id10">Peer List Obfuscation</a></li> 
     62<li><a class="reference internal" href="#obfuscation-method" id="id10">Obfuscation Method</a></li> 
    6363<li><a class="reference internal" href="#optimizations" id="id11">Optimizations</a></li> 
    6464<li><a class="reference internal" href="#backwards-compatibility" id="id12">Backwards Compatibility</a></li> 
     
    7979&quot;SHOULD NOT&quot;, &quot;RECOMMENDED&quot;, &quot;MAY&quot;, and &quot;OPTIONAL&quot; in this document are 
    8080to be interpreted as described in IETF <a class="reference external" href="http://tools.ietf.org/html/rfc2119">RFC 2119</a> <a class="footnote-reference" href="#id6" id="id7">[5]</a>.</p> 
    81 <div class="section" id="announce-parameter"> 
    82 <h1>Announce Parameter</h1> 
     81<div class="section" id="announce-parameters"> 
     82<h1>Announce Parameters</h1> 
    8383<p>When using this extension, instead of passing the <tt class="docutils literal"><span class="pre">info_hash</span></tt> parameter 
    8484to the tracker, a <tt class="docutils literal"><span class="pre">sha_ih</span></tt> is passed.</p> 
     
    9191<tt class="docutils literal"><span class="pre">sha_ih</span></tt> above when url encoded becomes 
    9292<tt class="docutils literal"><span class="pre">kO%89%A5N-%27%EC%D7%E8%DA%05%B4%AB%8F%D9%D1%D8%B1%19</span></tt>.</p> 
     93<p>If the <tt class="docutils literal"><span class="pre">sha_ih</span></tt> is passed then the value for the <tt class="docutils literal"><span class="pre">port</span></tt> parameter 
     94should be treated as a 16 bit integer and must be obscured in the same 
     95manner as the peer list as described in the <a class="reference internal" href="#obfuscation-method">Obfuscation Method</a> 
     96section.  Similarly if the optional <tt class="docutils literal"><span class="pre">ip</span></tt> parameter is passed in the 
     97announce then its value MUST also be so oscured.</p> 
    9398<p>This extension does not change the semantics of any parameter passed 
    9499in the peer's announce.</p> 
     
    104109These are discussed in the <a class="reference internal" href="#optimizations">optimizations</a> section.</p> 
    105110</div> 
    106 <div class="section" id="peer-list-obfuscation"> 
    107 <h1>Peer List Obfuscation</h1> 
     111<div class="section" id="obfuscation-method"> 
     112<h1>Obfuscation Method</h1> 
     113<p>The values for the``ip`` and <tt class="docutils literal"><span class="pre">port</span></tt> announce parameters, the 
     114<em>returned peer list</em> and any other values that contain peer 
     115information are obscured using the method described in this section.</p> 
    108116<p>We distinguish between the <em>tracker peer list</em> and the <em>returned peer 
    109117list</em>.  The <em>tracker peer list</em> contains the ip-port pairs of all 
     
    115123sufficiently large then the returned ip-port pairs constitute a subset 
    116124of the ip-port pairs in the <em>tracker peer list</em>.</p> 
    117 <p>The returned peer list is encrypted using RC4-drop768 encryption using 
    118 the infohash as a shared secret and optionally employing an 
    119 initialization vector.</p> 
     125<p>When a parameter is obscured, it is encrypted using RC4-drop768 
     126encryption using the infohash as a shared secret and optionally 
     127employing an initialization vector.</p> 
    120128<p>For the remainder of this document RC4 refers to RC4-drop768.  In the 
    121129process of encryption, RC4 generates a pseudorandom string that is 
     
    127135discussed in the next section.</p> 
    128136<p>To communicate an initialization vector, the tracker includes in the 
    129 bencoded response the key <tt class="docutils literal"><span class="pre">iv</span></tt> with value set to a byte string 
     137bencoded response the parameter <tt class="docutils literal"><span class="pre">iv</span></tt> with value set to a byte string 
    130138containing the initialization vector.  The initialization vector can 
    131 be of arbitrary length and is sent in plaintext.</p> 
     139be of arbitrary length and is sent in plaintext.  Initialization 
     140vectors can only be applied to parameters in tracker responses and NOT 
     141to announces.</p> 
    132142<p>If the tracker sends no initialization vector then the infohash is 
    133143used as the RC4 key (160 bit key).  If the tracker provides an 
     
    168178generated by RC4 and reuse it as peers arrive and depart.</p> 
    169179<p>The tracker MAY also cache the encrypted tracker peer list.  To 
    170 support this the tracker MUST pass two additional keys <em>i</em> and <em>n</em> 
     180support this the tracker MUST pass two additional parameters <em>i</em> and <em>n</em> 
    171181each with 32-bit integer values, except the tracker MAY omit <em>i</em> and 
    172182<em>n</em> when <em>i=0</em> and the <em>returned peer list</em> is the entire <em>tracker peer 
     
    182192arbitrarily long pseudorandom string to support large swarms, we 
    183193assume the tracker bounds the length of the pseudorandom string and 
    184 reports the length in ip-port pairs as the value to key <em>n</em>.  <em>n</em> 
     194reports the length in ip-port pairs as the value to parameter <em>n</em>.  <em>n</em> 
    185195excludes reserved and discarded bytes.  We RECOMMEND that <em>n</em> be equal 
    186196to the length of the tracker peer list or random but within constant 
     
    197207<img alt="bep_0008_pseudo.png" src="bep_0008_pseudo.png" /> 
    198208<p class="caption"><strong>Figure 1:</strong> The first 768 bytes of the RC4 pseudorandom 
    199 string are discarded.  The key <em>i</em> in the tracker response has 
    200 value <tt class="docutils literal"><span class="pre">x</span> <span class="pre">xor</span> <span class="pre">i</span></tt>.  The key <em>n</em> has value <tt class="docutils literal"><span class="pre">y</span> <span class="pre">xor</span> <span class="pre">n</span></tt>.</p> 
     209string are discarded.  The parameter <em>i</em> in the tracker response has 
     210value <tt class="docutils literal"><span class="pre">x</span> <span class="pre">xor</span> <span class="pre">i</span></tt>.  The parameter <em>n</em> has value <tt class="docutils literal"><span class="pre">y</span> <span class="pre">xor</span> <span class="pre">n</span></tt>.</p> 
    201211</div> 
    202212<p>We describe encryption in the following example for an ipv4 tracker peer 
     
    241251<p>Trackers that support obfuscation are identified in the .torrent file 
    242252by the inclusion of an <tt class="docutils literal"><span class="pre">obfuscate-announce-list</span></tt> which otherwise has the 
    243 same semantics as the <tt class="docutils literal"><span class="pre">announce-list</span></tt> key.  Peers that do not support 
     253same semantics as the <tt class="docutils literal"><span class="pre">announce-list</span></tt> parameter.  Peers that do not support 
    244254obfuscation simply ignore the <tt class="docutils literal"><span class="pre">obfuscate-announce-list</span></tt>.</p> 
    245255<p>A client that is configured to use this extension should always send 
     
    303313<ul class="simple"> 
    304314<li>The entire plaintext of the peer list is not easily obtained even if 
    305 an eavesdropper identifies ip-port pairs from subsequent connections 
    306 initiated by a peer that has received a tracker response.</li> 
     315an eavesdropper identifies one or more subsequent connections as 
     316using BitTorrent and the corresponding ip-port pairs appeared in the 
     317ciphertext of the tracker response.</li> 
    307318<li>Even when a subsequent connection from a peer that has received a 
    308319tracker response is observed by an eavesdropper, it is difficult to 
     
    325336and subsequent connections, it is possible to attack the encryption. 
    326337RC4 is known to have a number of weaknesses especially in the way it 
    327 was used with WEP <a class="footnote-reference" href="#borisov" id="id3">[2]</a> <a class="footnote-reference" href="#scott" id="id4">[3]</a> <a class="footnote-reference" href="#stubblefeld" id="id5">[4]</a>.  However, 
    328 with tracker peer obfuscation, the number of bytes transferred between 
    329 the tracker and a client is likely significantly smaller than transferred 
     338is used with WEP <a class="footnote-reference" href="#borisov" id="id3">[2]</a> <a class="footnote-reference" href="#scott" id="id4">[3]</a> <a class="footnote-reference" href="#stubblefeld" id="id5">[4]</a>.  However, with 
     339tracker peer obfuscation, the number of bytes transferred between the 
     340tracker and a client is likely significantly smaller than transferred 
    330341between a wireless computer and a basestation.  An attacker faces a 
    331 much larger task in obtaining sufficient probable plaintext to 
    332 directly break the encryption.</p> 
     342much larger task in obtaining sufficient ciphertext to directly break 
     343the encryption.</p> 
    333344<p>Hobbling the RC4 encryption by using a bounded-length RC4 pseudorandom 
    334345string for small swarms is likely to have negilgible impact on 
     
    344355Furthermore more direct methods of traffic analysis applied to 
    345356peer-to-peer communication is available to network operators.</p> 
    346 <p>For larger swarms, hobbling RC4 may more significantly impact breaking 
    347 the encryption since the same pseudorandom string is used repeatedly 
    348 across the peer list.  Some study is in order on this point taking 
    349 into account that the tracker can periodically change intiailization 
    350 vectors.</p> 
     357<p>For larger swarms, hobbling RC4 may simplify breaking the encryption 
     358since the same pseudorandom string is used repeatedly across the peer 
     359list.  Some study is in order taking into account that the tracker can 
     360periodically change intiailization vectors.</p> 
    351361<p>We know from experience that periodically reshuffling peer lists on 
    352362the order of the rerequest interval negligibly impacts tracker 
  • dotorg/trunk/html/beps/bep_1000.html

    r10883 r10892  
    3838<tr class="field"><th class="field-name">Title:</th><td class="field-body">Pending Standards Track Documents</td> 
    3939</tr> 
    40 <tr class="field"><th class="field-name">Version:</th><td class="field-body">10848</td> 
     40<tr class="field"><th class="field-name">Version:</th><td class="field-body">10883</td> 
    4141</tr> 
    42 <tr class="field"><th class="field-name">Last-Modified:</th><td class="field-body"><a class="reference external" href="https://svn.bittorrent.com/trac.cgi/browser/dotorg/trunk/html/beps/bep_1000.rst">2008-02-15 14:53:10 -0800 (Fri, 15 Feb 2008)</a></td> 
     42<tr class="field"><th class="field-name">Last-Modified:</th><td class="field-body"><a class="reference external" href="https://svn.bittorrent.com/trac.cgi/browser/dotorg/trunk/html/beps/bep_1000.rst">2008-02-19 14:39:51 -0800 (Tue, 19 Feb 2008)</a></td> 
    4343</tr> 
    4444<tr class="field"><th class="field-name">Author:</th><td class="field-body">David Harrison &lt;dave&#32;&#97;t&#32;bittorrent.com&gt;</td> 
     
    8181<td>Super-seeding</td> 
    8282</tr> 
     83<tr><td>19</td> 
     84<td>HTTP Seeding (GetRight Style)</td> 
     85</tr> 
    8386</tbody> 
    8487</table>