Get hidden services explanation page started.
Karsten Loesing

Karsten Loesing commited on 2008-03-29 00:42:46
Zeige 7 geänderte Dateien mit 81 Einfügungen und 0 Löschungen.

... ...
@@ -175,6 +175,87 @@ about censorship.  Nobody would be able to determine who was offering
175 175
 the site, and nobody who offered the site would know who was posting to it.
176 176
 </p>
177 177
 
178
+<!-- TO TRANSLATORS: this section might still need some review and
179
+corrections! better wait at least one week from today (2008-03-29) before
180
+starting translation -->
181
+
182
+<p>
183
+A hidden service needs to advertise its existence in the Tor network before
184
+clients will be able to contact it. Therefore, the service randomly picks
185
+some relays, builds circuits to them, and asks them to act as introduction
186
+points telling them its public key. Note that in the following figures the
187
+green links are circuits rather than direct connections. This makes it
188
+impossible for anyone to associate the introduction points with the hidden
189
+service's IP address. This is important, because although the introduction
190
+points and others are told the hidden service's identity (public key), they
191
+must not learn about the hidden server's identity (IP address).
192
+</p>
193
+
194
+<img alt="Tor hidden service step one" src="$(IMGROOT)/THS-1.png" />
195
+<!-- maybe add a speech bubble containing "PK" to Bob, because that's what
196
+Bob tells to his introduction points -->
197
+
198
+<p>
199
+In a second step, the hidden service assembles a hidden service descriptor
200
+containing the introduction points' addresses and its public key and signs
201
+it with its private key. It stores that descriptor on a set of directory
202
+servers, again using a circuit that hides the link between storing the
203
+descriptor with the hidden service's IP address. The descriptor will be
204
+found by clients requesting XYZ.onion where XYZ is uniquely derived from
205
+the service's public key. After this step, the hidden service is set up.
206
+</p>
207
+
208
+<img alt="Tor hidden service step two" src="$(IMGROOT)/THS-2.png" />
209
+<!-- maybe replace "database" with "directory servers"; further: how
210
+incorrect is it to *not* add DB to the Tor cloud, now that begin dir cells
211
+are in use? -->
212
+
213
+<p>
214
+A client that wants to contact a hidden service needs to learn about its
215
+onion address first. After that, the client can initiate connection
216
+establishment by downloading the descriptor from the directory servers. If
217
+there is a descriptor for XYZ.onion (the hidden service could also be
218
+offline or have left long ago, or there could be a typo in the onion
219
+address), the client creates a circuit to another randomly picked relay and
220
+asks it to act as rendezvous point, telling it a one-time secret.
221
+</p>
222
+
223
+<img alt="Tor hidden service step three" src="$(IMGROOT)/THS-3.png" />
224
+<!-- maybe add "cookie" to speech bubble, separated from the surrounded
225
+"IP1-3" and "PK" -->
226
+
227
+<p>
228
+Upon setting up the rendezvous point, the client assembles an introduce
229
+message (encrypted to the hidden service's public key) including the
230
+address of the rendezvous point and the one-time secret. The client sends
231
+this message to one of the introduction points, requesting it to deliver it
232
+to the hidden service. Again, communication takes place via a circuit, so
233
+that nobody can relate sending the introduce message to the client's IP
234
+address, ensuring the client's anonymity.
235
+</p>
236
+
237
+<img alt="Tor hidden service step four" src="$(IMGROOT)/THS-4.png" />
238
+
239
+<p>
240
+The hidden service decrypts the client's introduce message and finds the
241
+address of the rendezvous point and the one-time secret in it. The service
242
+creates a circuit to the rendezvous point and sends the one-time secret to
243
+it in a rendezvous message.
244
+</p>
245
+
246
+<img alt="Tor hidden service step five" src="$(IMGROOT)/THS-5.png" />
247
+<!-- it should say "Bob connects to Alice's ..." -->
248
+
249
+<p>
250
+In the last step, the rendezvous point notifies the client about successful
251
+connection establishment. After that, both, client and hidden service can
252
+use their circuits to the rendezvous point for communicating with each
253
+other. The rendezvous point simply relays (end-to-end encrypted) messages
254
+from client to service and vice versa.
255
+</p>
256
+
257
+<img alt="Tor hidden service step six" src="$(IMGROOT)/THS-6.png" />
258
+
178 259
 <h3>Staying anonymous</h3>
179 260
 
180 261
 <p>