497de24066384836fde0105ae2d939744b71ec60
Andrew Lewman first cut of the new, shiny...

Andrew Lewman authored 14 years ago

1) ## translation metadata
Roger Dingledine looks like we never set the...

Roger Dingledine authored 14 years ago

2) # Revision: $Revision$
Andrew Lewman first cut of the new, shiny...

Andrew Lewman authored 14 years ago

3) # Translation-Priority: 2-medium
4) 
5) #include "head.wmi" TITLE="Tor Project: Verifying Signatures" CHARSET="UTF-8"
6) <div id="content" class="clearfix">
7)   <div id="breadcrumbs">
Andrew Lewman change all of the breadcrum...

Andrew Lewman authored 14 years ago

8)     <a href="<page index>">Home &raquo; </a>
Andrew Lewman first cut of the new, shiny...

Andrew Lewman authored 14 years ago

9)     <a href="<page docs/verifying-signatures>">Verifying Signatures</a>
10)   </div>
Roger Dingledine clear trailing whitespaces;...

Roger Dingledine authored 13 years ago

11)   <div id="maincol">
Andrew Lewman first cut of the new, shiny...

Andrew Lewman authored 14 years ago

12)     <h1>How to verify signatures for packages</h1>
Sebastian Hahn We decided to go with HTML...

Sebastian Hahn authored 14 years ago

13)     <hr>
Roger Dingledine clear trailing whitespaces;...

Roger Dingledine authored 13 years ago

14) 
Roger Dingledine add some introduction parag...

Roger Dingledine authored 13 years ago

15)     <h3>What is a signature and why should I check it?</h3>
16)     <hr>
17) 
18)     <p>How do you know that the Tor program you have is really the
19)     one we made? Many Tor users have very real adversaries who might
20)     try to give them a fake version of Tor &mdash; and it doesn't matter
21)     how secure and anonymous Tor is if you're not running the real Tor.</p>
22) 
23)     <p>An attacker could try a variety of attacks to get you to download
24)     a fake Tor. For example, he could trick you into thinking some other
25)     website is a great place to download Tor. That's why you should
26)     always download Tor from <b>https</b>://www.torproject.org/. The
27)     https part means there's encryption and authentication between your
28)     browser and the website, making it much harder for the attacker
29)     to modify your download. But it's not perfect. Some places in the
Roger Dingledine give a suggestion for where...

Roger Dingledine authored 13 years ago

30)     world block the Tor website, making users try <a href="<page
31)     docs/faq>#GetTor">somewhere else</a>. Large
Roger Dingledine add some introduction parag...

Roger Dingledine authored 13 years ago

32)     companies sometimes force employees to use a modified browser,
33)     so the company can listen in on all their browsing. We've even <a
34)     href="https://blog.torproject.org/blog/diginotar-debacle-and-what-you-should-do-about-it">seen</a>
35)     attackers who have the ability to trick your browser into thinking
36)     you're talking to the Tor website with https when you're not.</p>
37) 
38)     <p>Some software sites list <a
39)     href="http://en.wikipedia.org/wiki/Cryptographic_hash_function">sha1
40)     hashes</a> alongside the software on their website, so users can
41)     verify that they downloaded the file without any errors. These
42)     "checksums" help you answer the question "Did I download this file
43)     correctly from whoever sent it to me?" They do a good job at making
44)     sure you didn't have any random errors in your download, but they
45)     don't help you figure out whether you were downloading it from the
46)     attacker. The better question to answer is: "Is this file that I
47)     just downloaded the file that Tor intended me to get?"</p>
48) 
Roger Dingledine add another heading on veri...

Roger Dingledine authored 13 years ago

49)     <h3>Where do I get the signatures and the keys that made them?</h3>
50)     <hr>
Andrew Lewman revert mttp's changes.

Andrew Lewman authored 11 years ago

51)     <p>Each file on <a href="<page download/download>">our download
Roger Dingledine the verifying signatures pa...

Roger Dingledine authored 13 years ago

52)     page</a> is accompanied by a file with the same name as the
53)     package and the extension ".asc". These .asc files are GPG
54)     signatures. They allow you to verify the file you've downloaded
55)     is exactly the one that we intended you to get. For example,
Matt Pagan

Matt Pagan authored 11 years ago

56)     tor-browser-2.3.25-13_en-US.exe is accompanied by
57)     tor-browser-2.3.25-13_en-US.exe.asc. For a list
Andrew Lewman add the correct >.

Andrew Lewman authored 11 years ago

58)     of which developer signs which package, see our <a href="<page docs/signing-keys>">signing keys</a> page.</p>
Roger Dingledine the verifying signatures pa...

Roger Dingledine authored 13 years ago

59)     <h3>Windows</h3>
Sebastian Hahn We decided to go with HTML...

Sebastian Hahn authored 14 years ago

60)     <hr>
Roger Dingledine add some introduction parag...

Roger Dingledine authored 13 years ago

61)     <p>You need to have GnuPG installed before
62)     you can verify signatures. Download it from <a
Andrew Lewman revert mttp's changes.

Andrew Lewman authored 11 years ago

63)     href="http://gpg4win.org/download.html">http://gpg4win.org/download.html</a>.</p>
Roger Dingledine the verifying signatures pa...

Roger Dingledine authored 13 years ago

64)     <p>Once it's installed, use GnuPG to import the key that signed your
65)     package. Since GnuPG for Windows is a command-line tool, you will need
Matt Pagan

Matt Pagan authored 11 years ago

66)     to use <i>cmd.exe</i>. Unless you edit your PATH environment variable,
67)     you will need to tell Windows the full path to the GnuPG program. If
68)     you installed GnuPG with the default values, the path should be
69)     something like this: <i>C:\Program Files\Gnu\GnuPg\gpg.exe</i>.</p>
Roger Dingledine the verifying signatures pa...

Roger Dingledine authored 13 years ago

70)     <p>Erinn Clark signs the Tor Browser Bundles. Import her key
Matt Pagan

Matt Pagan authored 11 years ago

71)     (0x416F061063FEE659) by starting <i>cmd.exe</i> and typing:</p>
72)     <pre>"C:\Program Files\Gnu\GnuPg\gpg.exe" --keyserver x-hkp://pool.sks-keyservers.net --recv-keys 0x416F061063FEE659</pre>
73)     <p>After importing the key, you can verify that the fingerprint
Roger Dingledine the verifying signatures pa...

Roger Dingledine authored 13 years ago

74)     is correct:</p>
Matt Pagan

Matt Pagan authored 11 years ago

75)     <pre>"C:\Program Files\Gnu\GnuPg\gpg.exe" --fingerprint 0x416F061063FEE659</pre>
Roger Dingledine the verifying signatures pa...

Roger Dingledine authored 13 years ago

76)     <p>You should see:</p>
77)     <pre>
78)     pub   2048R/63FEE659 2003-10-16
79)           Key fingerprint = 8738 A680 B84B 3031 A630  F2DB 416F 0610 63FE E659
80)     uid                  Erinn Clark &lt;erinn@torproject.org&gt;
81)     uid                  Erinn Clark &lt;erinn@debian.org&gt;
82)     uid                  Erinn Clark &lt;erinn@double-helix.org&gt;
83)     sub   2048R/EB399FD7 2003-10-16
84) </pre>
85)     <p>To verify the signature of the package you downloaded, you will need
86)     to download the ".asc" file as well. Assuming you downloaded the
87)     package and its signature to your Desktop, run:</p>
Matt Pagan

Matt Pagan authored 11 years ago

88)     <pre>"C:\Program Files\Gnu\GnuPg\gpg.exe" --verify C:\Users\Alice\Desktop\tor-browser-2.3.25-13_en-US.exe.asc C:\Users\Alice\Desktop\tor-browser-2.3.25-13_en-US.exe</pre>
Roger Dingledine the verifying signatures pa...

Roger Dingledine authored 13 years ago

89)     <p>The output should say "Good signature": </p>
90)     <pre>
91)     gpg: Signature made Wed 31 Aug 2011 06:37:01 PM EDT using RSA key ID 63FEE659
92)     gpg: Good signature from "Erinn Clark &lt;erinn@torproject.org&gt;"
93)     gpg:                 aka "Erinn Clark &lt;erinn@debian.org&gt;"
94)     gpg:                 aka "Erinn Clark &lt;erinn@double-helix.org&gt;"
95)     gpg: WARNING: This key is not certified with a trusted signature!
96)     gpg:          There is no indication that the signature belongs to the owner.
97)     Primary key fingerprint: 8738 A680 B84B 3031 A630  F2DB 416F 0610 63FE E659
98)     </pre>
99)     <p>
100)     Notice that there is a warning because you haven't assigned a trust
101)     index to this person. This means that GnuPG verified that the key made
102)     that signature, but it's up to you to decide if that key really belongs
103)     to the developer. The best method is to meet the developer in person and
104)     exchange key fingerprints.
105)     </p>
106)     <h3>Mac OS X</h3>
Sebastian Hahn We decided to go with HTML...

Sebastian Hahn authored 14 years ago

107)     <hr>
Roger Dingledine clear trailing whitespaces;...

Roger Dingledine authored 13 years ago

108) 
Roger Dingledine the verifying signatures pa...

Roger Dingledine authored 13 years ago

109)     <p>You need to have GnuPG installed before you can verify
110)     signatures. You can install it from <a
Andrew Lewman implement ticket 4377.

Andrew Lewman authored 12 years ago

111)     href="http://www.gpgtools.org/">http://www.gpgtools.org/</a>.
Roger Dingledine the verifying signatures pa...

Roger Dingledine authored 13 years ago

112)     </p>
Roger Dingledine clear trailing whitespaces;...

Roger Dingledine authored 13 years ago

113) 
Roger Dingledine the verifying signatures pa...

Roger Dingledine authored 13 years ago

114)     <p>Once it's installed, use GnuPG to import the key that signed
115)     your package. Erinn Clark signs the Tor Browser Bundles. Import her
Moritz Bartl switching to longer key ids

Moritz Bartl authored 11 years ago

116)     key (0x416F061063FEE659) by starting the terminal (under "Applications")
Roger Dingledine the verifying signatures pa...

Roger Dingledine authored 13 years ago

117)     and typing:</p>
Roger Dingledine clear trailing whitespaces;...

Roger Dingledine authored 13 years ago

118) 
Moritz Bartl switching to longer key ids

Moritz Bartl authored 11 years ago

119)     <pre>gpg --keyserver x-hkp://pool.sks-keyservers.net --recv-keys 0x416F061063FEE659</pre>
Roger Dingledine clear trailing whitespaces;...

Roger Dingledine authored 13 years ago

120) 
Roger Dingledine the verifying signatures pa...

Roger Dingledine authored 13 years ago

121)     <p>After importing the key, you can verify that the fingerprint
122)     is correct:</p>
123) 
Moritz Bartl switching to longer key ids

Moritz Bartl authored 11 years ago

124)     <pre>gpg --fingerprint 0x416F061063FEE659</pre>
Roger Dingledine clear trailing whitespaces;...

Roger Dingledine authored 13 years ago

125) 
Roger Dingledine the verifying signatures pa...

Roger Dingledine authored 13 years ago

126)     <p>You should see:</p>
127)     <pre>
Andrew Lewman first cut of the new, shiny...

Andrew Lewman authored 14 years ago

128)     pub   2048R/63FEE659 2003-10-16
129)           Key fingerprint = 8738 A680 B84B 3031 A630  F2DB 416F 0610 63FE E659
130)     uid                  Erinn Clark &lt;erinn@torproject.org&gt;
131)     uid                  Erinn Clark &lt;erinn@debian.org&gt;
132)     uid                  Erinn Clark &lt;erinn@double-helix.org&gt;
133)     sub   2048R/EB399FD7 2003-10-16
134)     </pre>
Roger Dingledine clear trailing whitespaces;...

Roger Dingledine authored 13 years ago

135) 
Roger Dingledine the verifying signatures pa...

Roger Dingledine authored 13 years ago

136)     <p>To verify the signature of the package you downloaded, you will need
137)     to download the ".asc" file as well. Assuming you downloaded the
138)     package and its signature to your Desktop, run:</p>
Roger Dingledine clear trailing whitespaces;...

Roger Dingledine authored 13 years ago

139) 
Moritz Bartl examples use torbrowser bun...

Moritz Bartl authored 11 years ago

140)     <pre>gpg --verify /Users/Alice/TorBrowser-<version-torbrowserbundleosx32>-osx-i386-en-US.zip{.asc,}</pre>
Roger Dingledine clear trailing whitespaces;...

Roger Dingledine authored 13 years ago

141) 
Roger Dingledine the verifying signatures pa...

Roger Dingledine authored 13 years ago

142)     <p>The output should say "Good signature": </p>
Roger Dingledine clear trailing whitespaces;...

Roger Dingledine authored 13 years ago

143) 
Andrew Lewman first cut of the new, shiny...

Andrew Lewman authored 14 years ago

144)     <pre>
Roger Dingledine the verifying signatures pa...

Roger Dingledine authored 13 years ago

145)     gpg: Signature made Wed 31 Aug 2011 06:37:01 PM EDT using RSA key ID 63FEE659
146)     gpg: Good signature from "Erinn Clark &lt;erinn@torproject.org&gt;"
147)     gpg:                 aka "Erinn Clark &lt;erinn@debian.org&gt;"
148)     gpg:                 aka "Erinn Clark &lt;erinn@double-helix.org&gt;"
Andrew Lewman first cut of the new, shiny...

Andrew Lewman authored 14 years ago

149)     gpg: WARNING: This key is not certified with a trusted signature!
150)     gpg:          There is no indication that the signature belongs to the owner.
Roger Dingledine the verifying signatures pa...

Roger Dingledine authored 13 years ago

151)     Primary key fingerprint: 8738 A680 B84B 3031 A630  F2DB 416F 0610 63FE E659
Andrew Lewman first cut of the new, shiny...

Andrew Lewman authored 14 years ago

152)     </pre>
Roger Dingledine clear trailing whitespaces;...

Roger Dingledine authored 13 years ago

153) 
Andrew Lewman first cut of the new, shiny...

Andrew Lewman authored 14 years ago

154)     <p>
155)     Notice that there is a warning because you haven't assigned a trust
156)     index to this person. This means that GnuPG verified that the key made
157)     that signature, but it's up to you to decide if that key really belongs
158)     to the developer. The best method is to meet the developer in person and
159)     exchange key fingerprints.
160)     </p>
Roger Dingledine clear trailing whitespaces;...

Roger Dingledine authored 13 years ago

161) 
Roger Dingledine the verifying signatures pa...

Roger Dingledine authored 13 years ago

162)     <h3>Linux</h3>
163)     <hr>
Roger Dingledine clear trailing whitespaces;...

Roger Dingledine authored 13 years ago

164) 
Roger Dingledine explain that linux users ar...

Roger Dingledine authored 13 years ago

165)     <p>Most Linux distributions come with gpg preinstalled, so users
166)     who want to verify the Tor Browser Bundle for Linux (or the source
167)     tarball) can just follow along with the instructions above for
Roger Dingledine mention sebastian's role in...

Roger Dingledine authored 12 years ago

168)     "Mac OS X". Note that sometimes Sebastian Hahn (key 0x140C961B)
169)     signs the Linux TBB packages.</p>
Roger Dingledine clear trailing whitespaces;...

Roger Dingledine authored 13 years ago

170) 
Roger Dingledine explain that linux users ar...

Roger Dingledine authored 13 years ago

171)     <p>If you're using the <b>Debian</b> packages, you should read the
172)     instructions on <a href="<page docs/debian>#packages">importing
173)     these keys to apt</a>.</p>
Roger Dingledine clear trailing whitespaces;...

Roger Dingledine authored 13 years ago

174) 
Roger Dingledine explain that linux users ar...

Roger Dingledine authored 13 years ago

175)     <p>If you're using the <b>RPMs</b>, you can manually verify the
176)     signatures on the RPM packages by <pre>rpm -K filename.rpm</pre></p>
177) 
178)     <p>See <a
179)     href="http://www.gnupg.org/documentation/">http://www.gnupg.org/documentation/</a>
180)     to learn more about GPG.</p>
Roger Dingledine the verifying signatures pa...

Roger Dingledine authored 13 years ago

181) 
Matt Pagan Moved verification instruct...

Matt Pagan authored 10 years ago

182)     <hr>
183) 
184)     <a id="BuildVerification"></a>
185)     <h3><a class="anchor" href="#BuildVerification">
186)     Verifying sha256sums (advanced)</a></h3>
187)     <hr>
188)     <p>Build reproducibility is a <a 
189)        href="https://blog.torproject.org/blog/deterministic-builds-part-one-cyberwar-and-global-compromise">security 
190)        property</a> of Tor Browser Bundle 3.0 and later. Anyone can build the 
191)        Tor Browser Bundle on their own machine and produce a binary that is 
192)        bit-for-bit identical to the binary we offer on the download page. 
193)        Fortunately, it is not necessary for everyone to build the Tor Browser 
194)        locally to get this security. Verifying and comparing the signed list 
195)        of <a href="https://en.wikipedia.org/wiki/Cryptographic_hash">hashes</a> 
196)        will confirm that multiple people have built Tor Browser Bundles 
197)        identical to the download.</p>
198) 
199)       <p>The steps below walk through this process:</p>
200) 
201)     <ul>
202)       <li>Download the Tor Browser package, the sha256sums.txt file, and the
203)       sha256sums signature files. They can all be found in the same directory 
Andrew Lewman there is no page macro for...

Andrew Lewman authored 10 years ago

204)       under <a href="https://www.torproject.org/dist/torbrowser/">
205)       https://www.torproject.org/dist/torbrowser/</a>, for example in '3.6.1' 
206)       for TBB 3.6.1.</li>
Matt Pagan Moved verification instruct...

Matt Pagan authored 10 years ago

207)       <li>Retrieve the signers' GPG keys. This can be done from the command 
208)       line by entering something like 
209)       <pre>gpg --keyserver keys.mozilla.org --recv-keys 0x29846B3C683686CC</pre>
210)       (This will bring you developer Mike Perry's public key. Other 
211)       developers' key IDs can be found on
Matt Pagan Use the <page> tag, or use...

Matt Pagan authored 10 years ago

212)       <a href="<page docs/signing-keys>">this 
Matt Pagan Moved verification instruct...

Matt Pagan authored 10 years ago

213)       page</a>.)</li>
214)       <li>Verify the sha256sums.txt file by executing this command:
215)       <pre>gpg --verify &lt;NAME OF THE SIGNATURE FILE&gt;.asc sha256sums.txt</pre></li>
216)       <li>You should see a message like "Good signature from &lt;DEVELOPER 
217)       NAME&gt;". If you don't, there is a problem. Try these steps again.</li>
218)       <li>Now you can take the sha256sum of the Tor Browser package. On 
219)       Windows you can use the <a href="http://md5deep.sourceforge.net/">
220)       hashdeep utility</a> and run
221)       <pre>C:\location\where\you\saved\hashdeep -c sha256sum &lt;TOR BROWSER FILE NAME&gt;.exe</pre>
222)       On Mac or Linux you can run <pre>sha256sum &lt;TOR BROWSER FILE NAME&gt;.zip</pre> or <pre>sha256sum &lt;TOR BROWSER FILE NAME&gt;.tar.gz</pre> without having to download a utility.</li>
223)       <li>You will see a string of letters and numbers.</li>
224)       <li>Open sha256sums.txt in a text editor.</li>
225)       <li>Locate the name of the Tor Browser file you downloaded.</li>
226)       <li>Compare the string of letters and numbers to the left of your
227)       filename with the string of letters and numbers that appeared 
228)       on your command line. If they match, you've successfully verified the 
229)       build.</li> 
230)     </ul>
231)     
232)     <p><a href="https://github.com/isislovecruft/scripts/blob/master/verify-gitian-builder-signatures">Scripts</a> 
233)     to <a href="http://tor.stackexchange.com/questions/648/how-to-verify-tor-browser-bundle-tbb-3-x">automate</a> 
234)     these steps have been written, but to use them you will need to modify 
235)     them yourself with the latest Tor Browser Bundle filename.</p>
236)     
237)     <hr>
238) 
Andrew Lewman first cut of the new, shiny...

Andrew Lewman authored 14 years ago

239)   </div>
240)   <!-- END MAINCOL -->
241)   <div id = "sidecol">
242) #include "side.wmi"
243) #include "info.wmi"
244)   </div>
245)   <!-- END SIDECOL -->
246) </div>
247) <!-- END CONTENT -->