1acf560c17e15f6144c57d1e75e9567e7a4e03ff
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,
Georg Koppen Bug 13407: Update signature...

Georg Koppen authored 9 years ago

56)     torbrowser-install-<version-torbrowserbundle>_en-US.exe is accompanied by
57)     torbrowser-install-<version-torbrowserbundle>_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>
Georg Koppen Bug 13407: Update signature...

Georg Koppen authored 9 years ago

70)     <p>The Tor Browser team signs the Tor Browsers. Import its key
71)     (0x4E2C6E8793298290) 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 0x4E2C6E8793298290</pre>
Matt Pagan

Matt Pagan authored 11 years ago

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>
Georg Koppen Bug 13407: Update signature...

Georg Koppen authored 9 years ago

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

Roger Dingledine authored 13 years ago

76)     <p>You should see:</p>
77)     <pre>
Georg Koppen Bug 13407: Update signature...

Georg Koppen authored 9 years ago

78)     pub   4096R/93298290 2014-12-15
79)           Key fingerprint = EF6E 286D DA85 EA2A 4BA7  DE68 4E2C 6E87 9329 8290
80)     uid                  Tor Browser Developers (signing key) <torbrowser@torproject.org>
81)     sub   4096R/F65C2036 2014-12-15
82)     sub   4096R/D40814E0 2014-12-15
83)     sub   4096R/589839A3 2014-12-15
Roger Dingledine the verifying signatures pa...

Roger Dingledine authored 13 years ago

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>
ilv Fixed version tags and wind...

ilv authored 9 years ago

88)     <pre>"C:\Program Files\Gnu\GnuPg\gpg.exe" --verify C:\Users\Alice\Desktop\torbrowser-install-<version-torbrowserbundle>_en-US.exe.asc C:\Users\Alice\Desktop\torbrowser-install-<version-torbrowserbundle>_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>
Georg Koppen Bug 13407: Update signature...

Georg Koppen authored 9 years ago

91)     gpg: Signature made Tue 24 Jan 2015 09:29:09 AM CET using RSA key ID D40814E0
92)     gpg: Good signature from "Tor Browser Developers (signing key) <torbrowser@torproject.org>"
Roger Dingledine the verifying signatures pa...

Roger Dingledine authored 13 years ago

93)     gpg: WARNING: This key is not certified with a trusted signature!
94)     gpg:          There is no indication that the signature belongs to the owner.
Georg Koppen Bug 15253: Add Tor Browser...

Georg Koppen authored 9 years ago

95)     Primary key fingerprint: EF6E 286D DA85 EA2A 4BA7  DE68 4E2C 6E87 9329 8290</pre>
96)     <p>Currently valid subkey fingerprints are:
97)     <pre>
98)     5242 013F 02AF C851 B1C7  36B8 7017 ADCE F65C 2036
99)     BA1E E421 BBB4 5263 180E  1FC7 2E1A C68E D408 14E0
100)     05FA 4425 3F6C 19A8 B7F5  18D4 2D00 0988 5898 39A3</pre></p>
Roger Dingledine the verifying signatures pa...

Roger Dingledine authored 13 years ago

101)     <p>
102)     Notice that there is a warning because you haven't assigned a trust
103)     index to this person. This means that GnuPG verified that the key made
104)     that signature, but it's up to you to decide if that key really belongs
105)     to the developer. The best method is to meet the developer in person and
106)     exchange key fingerprints.
107)     </p>
ilv Combined osx and linux inst...

ilv authored 9 years ago

108)     <h3>Mac OS X and Linux</h3>
Sebastian Hahn We decided to go with HTML...

Sebastian Hahn authored 14 years ago

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

Roger Dingledine authored 13 years ago

110) 
Roger Dingledine the verifying signatures pa...

Roger Dingledine authored 13 years ago

111)     <p>You need to have GnuPG installed before you can verify
ilv Combined osx and linux inst...

ilv authored 9 years ago

112)     signatures. If you are using Mac OS X, you can install it from <a
113)     href="http://www.gpgtools.org/">http://www.gpgtools.org/</a>. If you
114)     are using Linux, then it's probably you already have GnuPG in your
115)     system, as most Linux distributions come with it preinstalled.
Roger Dingledine the verifying signatures pa...

Roger Dingledine authored 13 years ago

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

Roger Dingledine authored 13 years ago

117) 
ilv Combined osx and linux inst...

ilv authored 9 years ago

118)     <p>The next step is to use GnuPG to import the key that signed
Nicolas Vigier Bug 13407: Finish updating...

Nicolas Vigier authored 9 years ago

119)     your package. The Tor Browser team signs the Tor Browsers. Import its
120)     key (0x4E2C6E8793298290) by starting the terminal (under "Applications"
ilv Combined osx and linux inst...

ilv authored 9 years ago

121)     in Mac OS X) and typing:</p>
Roger Dingledine clear trailing whitespaces;...

Roger Dingledine authored 13 years ago

122) 
Georg Koppen Bug 13407: Update signature...

Georg Koppen authored 9 years ago

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

Roger Dingledine authored 13 years ago

124) 
Roger Dingledine the verifying signatures pa...

Roger Dingledine authored 13 years ago

125)     <p>After importing the key, you can verify that the fingerprint
126)     is correct:</p>
127) 
Georg Koppen Bug 13407: Update signature...

Georg Koppen authored 9 years ago

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

Roger Dingledine authored 13 years ago

129) 
Roger Dingledine the verifying signatures pa...

Roger Dingledine authored 13 years ago

130)     <p>You should see:</p>
131)     <pre>
Georg Koppen Bug 13407: Update signature...

Georg Koppen authored 9 years ago

132)     pub   4096R/93298290 2014-12-15
133)           Key fingerprint = EF6E 286D DA85 EA2A 4BA7  DE68 4E2C 6E87 9329 8290
134)     uid                  Tor Browser Developers (signing key) <torbrowser@torproject.org>
135)     sub   4096R/F65C2036 2014-12-15
136)     sub   4096R/D40814E0 2014-12-15
137)     sub   4096R/589839A3 2014-12-15
Andrew Lewman first cut of the new, shiny...

Andrew Lewman authored 14 years ago

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

Roger Dingledine authored 13 years ago

139) 
Roger Dingledine the verifying signatures pa...

Roger Dingledine authored 13 years ago

140)     <p>To verify the signature of the package you downloaded, you will need
141)     to download the ".asc" file as well. Assuming you downloaded the
ilv Fixed version tags and wind...

ilv authored 9 years ago

142)     package and its signature to your Desktop, run:</p>
Roger Dingledine clear trailing whitespaces;...

Roger Dingledine authored 13 years ago

143) 
ilv Fixed version tags and wind...

ilv authored 9 years ago

144)     <strong>For Mac OS X users</strong>:<br />
145)     <pre>gpg --verify ~/Desktop/TorBrowser-<version-torbrowserbundleosx32>-osx32_en-US.dmg{.asc*,}</pre>
ilv Combined osx and linux inst...

ilv authored 9 years ago

146)     
Sebastian Hahn Fix grammar as pointed out...

Sebastian Hahn authored 9 years ago

147)     <strong>For Linux users</strong> (change 32 to 64 if you have the 64-bit package):<br />
ilv Fixed version tags and wind...

ilv authored 9 years ago

148)     <pre>gpg --verify ~/Desktop/tor-browser-linux32-<version-torbrowserbundlelinux32>_en-US.tar.xz{.asc*,}</pre>
Roger Dingledine clear trailing whitespaces;...

Roger Dingledine authored 13 years ago

149) 
Georg Koppen Bug 15253: Add Tor Browser...

Georg Koppen authored 9 years ago

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

Roger Dingledine authored 13 years ago

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

Andrew Lewman authored 14 years ago

152)     <pre>
Georg Koppen Bug 13407: Update signature...

Georg Koppen authored 9 years ago

153)     gpg: Signature made Tue 24 Jan 2015 09:29:09 AM CET using RSA key ID D40814E0
154)     gpg: Good signature from "Tor Browser Developers (signing key) <torbrowser@torproject.org>"
Andrew Lewman first cut of the new, shiny...

Andrew Lewman authored 14 years ago

155)     gpg: WARNING: This key is not certified with a trusted signature!
156)     gpg:          There is no indication that the signature belongs to the owner.
Georg Koppen Bug 15253: Add Tor Browser...

Georg Koppen authored 9 years ago

157)     Primary key fingerprint: EF6E 286D DA85 EA2A 4BA7  DE68 4E2C 6E87 9329 8290</pre> <p> Currently valid subkey fingerprints are:
158)     <pre>
159)     5242 013F 02AF C851 B1C7  36B8 7017 ADCE F65C 2036
160)     BA1E E421 BBB4 5263 180E  1FC7 2E1A C68E D408 14E0
161)     05FA 4425 3F6C 19A8 B7F5  18D4 2D00 0988 5898 39A3</pre></p>
Andrew Lewman first cut of the new, shiny...

Andrew Lewman authored 14 years ago

162)     <p>
163)     Notice that there is a warning because you haven't assigned a trust
164)     index to this person. This means that GnuPG verified that the key made
165)     that signature, but it's up to you to decide if that key really belongs
166)     to the developer. The best method is to meet the developer in person and
167)     exchange key fingerprints.
168)     </p>
Georg Koppen Bug 15253: Add Tor Browser...

Georg Koppen authored 9 years ago

169) 
ilv Combined osx and linux inst...

ilv authored 9 years ago

170)     <p>
171)     If you're a Linux user and you're using the <b>Debian</b> Tor (not Tor
172)     Browser) packages, you should read the instructions on <a
173)     href="<page docs/debian>#packages">importing these keys to apt</a>.
174)     If you're using the <b>RPMs</b> (for Tor, not Tor Browser), you can
175)     manually verify the signatures on the RPM packages by
176)     <pre>rpm -K filename.rpm</pre>
177)     </p>
Roger Dingledine explain that linux users ar...

Roger Dingledine authored 13 years ago

178) 
179)     <p>See <a
180)     href="http://www.gnupg.org/documentation/">http://www.gnupg.org/documentation/</a>
ilv Added missing hr and s/GPG/...

ilv authored 9 years ago

181)     to learn more about GnuPG.</p>
182) 
183)     <hr>
Roger Dingledine the verifying signatures pa...

Roger Dingledine authored 13 years ago

184) 
Matt Pagan Moved verification instruct...

Matt Pagan authored 10 years ago

185)     <a id="BuildVerification"></a>
186)     <h3><a class="anchor" href="#BuildVerification">
187)     Verifying sha256sums (advanced)</a></h3>
188)     <hr>
Georg Koppen Bug 14304: Document strippi...

Georg Koppen authored 9 years ago

189)     <p>Build reproducibility is a <a
190)        href="https://blog.torproject.org/blog/deterministic-builds-part-one-cyberwar-and-global-compromise">security
Sebastian Hahn Remove some whitespace at eol

Sebastian Hahn authored 9 years ago

191)        property</a> of Tor Browser 3.0 and later. Anyone can build
192)        Tor Browser on their own machine and produce a binary that is
193)        bit-for-bit identical to the binary we offer on the download page.
194)        Fortunately, it is not necessary for everyone to build the Tor Browser
195)        locally to get this security. Verifying and comparing the signed list
196)        of <a href="https://en.wikipedia.org/wiki/Cryptographic_hash">hashes</a>
197)        will confirm that multiple people have built Tor Browsers
Matt Pagan Moved verification instruct...

Matt Pagan authored 10 years ago

198)        identical to the download.</p>
199) 
200)       <p>The steps below walk through this process:</p>
201) 
202)     <ul>
203)       <li>Download the Tor Browser package, the sha256sums.txt file, and the
Georg Koppen Bug 14304: Document strippi...

Georg Koppen authored 9 years ago

204)       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

205)       under <a href="https://www.torproject.org/dist/torbrowser/">
Georg Koppen Bug 14304: Document strippi...

Georg Koppen authored 9 years ago

206)       https://www.torproject.org/dist/torbrowser/</a>, for example in '3.6.1'
Andrew Lewman there is no page macro for...

Andrew Lewman authored 10 years ago

207)       for TBB 3.6.1.</li>
Georg Koppen Bug 14304: Document strippi...

Georg Koppen authored 9 years ago

208)       <li>Retrieve the signers' GPG keys. This can be done from the command
209)       line by entering something like
Matt Pagan Moved verification instruct...

Matt Pagan authored 10 years ago

210)       <pre>gpg --keyserver keys.mozilla.org --recv-keys 0x29846B3C683686CC</pre>
Georg Koppen Bug 14304: Document strippi...

Georg Koppen authored 9 years ago

211)       (This will bring you developer Mike Perry's public key. Other
Matt Pagan Moved verification instruct...

Matt Pagan authored 10 years ago

212)       developers' key IDs can be found on
Georg Koppen Bug 14304: Document strippi...

Georg Koppen authored 9 years ago

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

Matt Pagan authored 10 years ago

214)       page</a>.)</li>
215)       <li>Verify the sha256sums.txt file by executing this command:
216)       <pre>gpg --verify &lt;NAME OF THE SIGNATURE FILE&gt;.asc sha256sums.txt</pre></li>
Georg Koppen Bug 14304: Document strippi...

Georg Koppen authored 9 years ago

217)       <li>You should see a message like "Good signature from &lt;DEVELOPER
Matt Pagan Moved verification instruct...

Matt Pagan authored 10 years ago

218)       NAME&gt;". If you don't, there is a problem. Try these steps again.</li>
Georg Koppen Bug 14304: Document strippi...

Georg Koppen authored 9 years ago

219)       <li>Now you can take the sha256sum of the Tor Browser package. On
Matt Pagan Moved verification instruct...

Matt Pagan authored 10 years ago

220)       Windows you can use the <a href="http://md5deep.sourceforge.net/">
221)       hashdeep utility</a> and run
222)       <pre>C:\location\where\you\saved\hashdeep -c sha256sum &lt;TOR BROWSER FILE NAME&gt;.exe</pre>
Sebastian Hahn Fix osx gpg instructions (#...

Sebastian Hahn authored 9 years ago

223)       On Mac or Linux you can run <pre>sha256sum &lt;TOR BROWSER FILE NAME&gt;.dmg</pre> or <pre>sha256sum &lt;TOR BROWSER FILE NAME&gt;.tar.gz</pre> without having to download a utility.</li>
Matt Pagan Moved verification instruct...

Matt Pagan authored 10 years ago

224)       <li>You will see a string of letters and numbers.</li>
225)       <li>Open sha256sums.txt in a text editor.</li>
226)       <li>Locate the name of the Tor Browser file you downloaded.</li>
227)       <li>Compare the string of letters and numbers to the left of your
Georg Koppen Bug 14304: Document strippi...

Georg Koppen authored 9 years ago

228)       filename with the string of letters and numbers that appeared
229)       on your command line. If they match, you've successfully verified the
230)       build.</li>
Matt Pagan Moved verification instruct...

Matt Pagan authored 10 years ago

231)     </ul>
Georg Koppen Bug 14304: Document strippi...

Georg Koppen authored 9 years ago

232) 
233)     <p><a href="https://github.com/isislovecruft/scripts/blob/master/verify-gitian-builder-signatures">Scripts</a>
234)     to <a href="http://tor.stackexchange.com/questions/648/how-to-verify-tor-browser-bundle-tbb-3-x">automate</a>
235)     these steps have been written, but to use them you will need to modify
Matt Pagan Replaced "the Tor Browser B...

Matt Pagan authored 9 years ago

236)     them yourself with the latest Tor Browser filename.</p>
Georg Koppen Bug 14304: Document strippi...

Georg Koppen authored 9 years ago

237) 
238)     <hr>
239) 
240)     <a id="MARVerification"></a>
241)     <h3><a class="anchor" href="#MARVerification">
242)     Verifying MAR files we ship (advanced)</a></h3>
Matt Pagan Moved verification instruct...

Matt Pagan authored 10 years ago

243)     <hr>
Georg Koppen Bug 14304: Document strippi...

Georg Koppen authored 9 years ago

244)     <p>Starting with Tor Browser 4.5a4 we sign our MAR files which helps
245)     securing our update process. The downside of this is the need for additional
246)     instructions to verify that the MAR files we ship are indeed the ones we
247)     produced with our Gitian setup.</p>
248) 
249)     <p>Assuming the verification happens on a Linux computer one first needs the
250)     <tt>mar-tools-linux*.zip</tt> out of the <tt>gitian-builder/inputs</tt>
251)     directory to remove the embedded signature(s). The steps to get the unsigned
252)     MAR file on a 64 bit Linux are</p>
253)     <pre>
254)     cd /path/to/MAR/file
255)     unzip /path/to/gitian-builder/inputs/mar-tools-linux64.zip
256)     mar-tools/signmar -r your-signed-mar-file.mar your-unsigned-mar-file.mar</pre>
257)     <p>Now you can compare the SHA256 sum of <tt>your-unsigned-mar-file.mar</tt>
258)     with the one provided in the <tt>sha265sums.txt</tt> or
259)     <tt>sha256sums.incremental.txt</tt> as outlined in <a href="#BuildVerification">Verifying
260)     sha256sums (advancded)</a> above.</p>
Matt Pagan Moved verification instruct...

Matt Pagan authored 10 years ago

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

Andrew Lewman authored 14 years ago

262)   </div>
263)   <!-- END MAINCOL -->
264)   <div id = "sidecol">
265) #include "side.wmi"
266) #include "info.wmi"
267)   </div>
268)   <!-- END SIDECOL -->
269) </div>
270) <!-- END CONTENT -->