aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/handbook/chapters/keyconcepts.texi26
-rw-r--r--doc/handbook/chapters/user.texi16
-rw-r--r--doc/man/gnunet-auto-share.129
-rw-r--r--doc/man/gnunet-download.143
-rw-r--r--doc/man/gnunet-publish.139
-rw-r--r--doc/man/gnunet-search.137
6 files changed, 91 insertions, 99 deletions
diff --git a/doc/handbook/chapters/keyconcepts.texi b/doc/handbook/chapters/keyconcepts.texi
index 4b49a7ffb..4900ed328 100644
--- a/doc/handbook/chapters/keyconcepts.texi
+++ b/doc/handbook/chapters/keyconcepts.texi
@@ -15,7 +15,7 @@ The second part describes concepts specific to anonymous file-sharing.
15* Accounting to Encourage Resource Sharing:: 15* Accounting to Encourage Resource Sharing::
16* Confidentiality:: 16* Confidentiality::
17* Anonymity:: 17* Anonymity::
18* Deniability:: 18* Deniability::
19* Peer Identities:: 19* Peer Identities::
20* Zones in the GNU Name System (GNS Zones):: 20* Zones in the GNU Name System (GNS Zones)::
21* Egos:: 21* Egos::
@@ -165,16 +165,20 @@ and Bart Preneel. Towards measuring anonymity.
165(@uref{https://git.gnunet.org/bibliography.git/plain/docs/article-89.pdf, https://git.gnunet.org/bibliography.git/plain/docs/article-89.pdf})) 165(@uref{https://git.gnunet.org/bibliography.git/plain/docs/article-89.pdf, https://git.gnunet.org/bibliography.git/plain/docs/article-89.pdf}))
166that can help quantify the level of anonymity that a given mechanism 166that can help quantify the level of anonymity that a given mechanism
167provides, there is no such thing as "complete anonymity". 167provides, there is no such thing as "complete anonymity".
168
168GNUnet's file-sharing implementation allows users to select for each 169GNUnet's file-sharing implementation allows users to select for each
169operation (publish, search, download) the desired level of anonymity. 170operation (publish, search, download) the desired level of anonymity.
170The metric used is the amount of cover traffic available to hide the 171The metric used is based on the amount of cover traffic needed to hide
171request. 172the request.
172While this metric is not as good as, for example, the theoretical metric 173
173given in scientific metrics, 174While there is no clear way to relate the amount of available cover
174it is probably the best metric available to a peer with a purely local 175traffic to traditional scientific metrics such as the anonymity set or
175view of the world that does not rely on unreliable external information. 176information leakage, it is probably the best metric available to a
176The default anonymity level is @code{1}, which uses anonymous routing but 177peer with a purely local view of the world, in that it does not rely
177imposes no minimal requirements on cover traffic. It is possible 178on unreliable external information or a particular adversary model.
179
180The default anonymity level is @code{1}, which uses anonymous routing
181but imposes no minimal requirements on cover traffic. It is possible
178to forego anonymity when this is not required. The anonymity level of 182to forego anonymity when this is not required. The anonymity level of
179@code{0} allows GNUnet to use more efficient, non-anonymous routing. 183@code{0} allows GNUnet to use more efficient, non-anonymous routing.
180 184
@@ -192,7 +196,7 @@ In particular, we assume that the adversary can see all the traffic on
192the Internet. And while we assume that the adversary 196the Internet. And while we assume that the adversary
193can not break our encryption, we assume that the adversary has many 197can not break our encryption, we assume that the adversary has many
194participating nodes in the network and that it can thus see many of the 198participating nodes in the network and that it can thus see many of the
195node-to-node interactions since it controls some of the nodes. 199node-to-node interactions since it controls some of the nodes.
196 200
197The system tries to achieve anonymity based on the idea that users can be 201The system tries to achieve anonymity based on the idea that users can be
198anonymous if they can hide their actions in the traffic created by other 202anonymous if they can hide their actions in the traffic created by other
@@ -235,7 +239,7 @@ Even if the user that downloads data and the server that provides data are
235anonymous, the intermediaries may still be targets. In particular, if the 239anonymous, the intermediaries may still be targets. In particular, if the
236intermediaries can find out which queries or which content they are 240intermediaries can find out which queries or which content they are
237processing, a strong adversary could try to force them to censor 241processing, a strong adversary could try to force them to censor
238certain materials. 242certain materials.
239 243
240With the file-encoding used by GNUnet's anonymous file-sharing, this 244With the file-encoding used by GNUnet's anonymous file-sharing, this
241problem does not arise. 245problem does not arise.
diff --git a/doc/handbook/chapters/user.texi b/doc/handbook/chapters/user.texi
index 37c5849ab..55518bc34 100644
--- a/doc/handbook/chapters/user.texi
+++ b/doc/handbook/chapters/user.texi
@@ -1054,8 +1054,17 @@ anonymity level of "1" means that anonymous routing is desired, but no
1054particular amount of cover traffic is necessary. A powerful adversary 1054particular amount of cover traffic is necessary. A powerful adversary
1055might thus still be able to deduce the origin of the traffic using 1055might thus still be able to deduce the origin of the traffic using
1056traffic analysis. Specifying higher anonymity levels increases the 1056traffic analysis. Specifying higher anonymity levels increases the
1057amount of cover traffic required. While this offers better privacy, 1057amount of cover traffic required.
1058it can also significantly hurt performance. 1058
1059The specific numeric value (for anonymity levels above 1) is simple:
1060Given an anonymity level L (above 1), each request FS makes on your
1061behalf must be hidden in L-1 equivalent requests of cover traffic
1062(traffic your peer routes for others) in the same time-period. The
1063time-period is twice the average delay by which GNUnet artificially
1064delays traffic.
1065
1066While higher anonymity levels may offer better privacy, they can also
1067significantly hurt performance.
1059 1068
1060@node Content Priority 1069@node Content Priority
1061@subsubsection Content Priority 1070@subsubsection Content Priority
@@ -2324,6 +2333,3 @@ service offered by that peer, you can create an IP tunnel to
2324that peer by specifying the peer's identity, service name and 2333that peer by specifying the peer's identity, service name and
2325protocol (--tcp or --udp) and you will again receive an IP address 2334protocol (--tcp or --udp) and you will again receive an IP address
2326that will terminate at the respective peer's service. 2335that will terminate at the respective peer's service.
2327
2328
2329
diff --git a/doc/man/gnunet-auto-share.1 b/doc/man/gnunet-auto-share.1
index 19cb998fa..e68ecdc08 100644
--- a/doc/man/gnunet-auto-share.1
+++ b/doc/man/gnunet-auto-share.1
@@ -28,24 +28,25 @@ You can run the tool by hand or automatically by adding the respective options t
28gnunet-auto-share has many options in common with gnunet-publish, but can only be used to index files. 28gnunet-auto-share has many options in common with gnunet-publish, but can only be used to index files.
29.Pp 29.Pp
30You can use automatic meta-data extraction (based on libextractor). 30You can use automatic meta-data extraction (based on libextractor).
31.Sh OPTIONS
31.Bl -tag -width Ds 32.Bl -tag -width Ds
32.It Fl a Ar LEVEL | Fl \-anonymity= Ns Ar LEVEL 33.It Fl a Ar LEVEL | Fl \-anonymity= Ns Ar LEVEL
33This option can be used to specify additional anonymity constraints. 34This option can be used to specify additional anonymity constraints. The default is 1.
34If set to 0, GNUnet will publish the file non-anonymously and in fact sign the advertisement for the file using your peer's private key. 35If set to 0, GNUnet will publish the file non-anonymously and in fact sign the advertisement for the file using your peer's private key.
35This will allow other users to download the file as fast as possible, including using non-anonymous methods (DHT, direct transfer). 36This will allow other users to download the file as fast as possible, including using non-anonymous methods (discovery via DHT and CADET transfer).
36If you set it to 1 (default), you use the standard anonymous routing algorithm (which does not explicitly leak your identity). 37If you set it to 1 (default), you use the standard anonymous routing algorithm (which does not explicitly leak your identity).
37However, a powerful adversary may still be able to perform traffic analysis (statistics) to over time infer data about your identity. 38However, a powerful adversary may still be able to perform traffic analysis (statistics) to over time discovery your identity.
38You can gain better privacy by specifying a higher level of anonymity, which increases the amount of cover traffic your own traffic will get, at the expense of performance. 39You can gain better privacy by specifying a higher level of anonymity (using values above 1).
39Note that regardless of the anonymity level you choose, peers that cache content in the network always use anonymity level 1. 40This tells FS that it must hide your own requests in equivalent\-looking cover traffic.
40.Pp 41This should confound an adversaries traffic analysis, increasing the time and effort it would
41The definition of the ANONYMITY LEVEL is the following. 42take to discover your identity. However, it also can significantly reduce performance, as
420 means no anonymity is required. 43your requests will be delayed until sufficient cover traffic is available. The specific
43Otherwise a value of 'v' means that 1 out of v bytes of "anonymous" traffic can be from the local user, leaving 'v-1' bytes of cover traffic per byte on the wire. 44numeric value (for anonymity levels above 1) is simple:
44Thus, if GNUnet routes n bytes of messages from foreign peers (using anonymous routing), it may originate n/(v-1) bytes of data in the same time-period. 45Given an anonymity level L (above 1), each request FS makes on your behalf must be hidden in L\-1 equivalent
45The time-period is twice the average delay that GNUnet defers forwarded queries. 46requests of cover traffic (traffic your peer routes for others) in the same time\-period.
46.Pp 47The time\-period is twice the average delay by which GNUnet artificially delays traffic.
47The default is 1 and this should be fine for most users. 48Note that regardless of the anonymity level you choose, peers that cache content in the
48Also notice that if you choose very large values, you may end up having no throughput at all, especially if many of your fellow GNUnet-peers all do the same. 49network always use anonymity level 1.
49.It Fl c Ar FILENAME | Fl \-config= Ns Ar FILENAME 50.It Fl c Ar FILENAME | Fl \-config= Ns Ar FILENAME
50Use alternate config file (if this option is not specified, the default is 51Use alternate config file (if this option is not specified, the default is
51.Pa ~/.config/gnunet.conf Ns ). 52.Pa ~/.config/gnunet.conf Ns ).
diff --git a/doc/man/gnunet-download.1 b/doc/man/gnunet-download.1
index e2c4ab365..f278694c3 100644
--- a/doc/man/gnunet-download.1
+++ b/doc/man/gnunet-download.1
@@ -24,8 +24,22 @@ a command line interface for downloading files from GNUnet
24Download files from GNUnet. 24Download files from GNUnet.
25.Bl -tag -width Ds 25.Bl -tag -width Ds
26.It Fl a Ar LEVEL | Fl \-anonymity= Ns Ar LEVEL 26.It Fl a Ar LEVEL | Fl \-anonymity= Ns Ar LEVEL
27Set desired level of receiver anonymity. 27This option can be used to specify additional anonymity constraints. The default is 1.
28Default is 1. 28If set to 0, GNUnet will publish the file non-anonymously and in fact sign the advertisement for the file using your peer's private key.
29This will allow other users to download the file as fast as possible, including using non-anonymous methods (discovery via DHT and CADET transfer).
30If you set it to 1 (default), you use the standard anonymous routing algorithm (which does not explicitly leak your identity).
31However, a powerful adversary may still be able to perform traffic analysis (statistics) to over time discovery your identity.
32You can gain better privacy by specifying a higher level of anonymity (using values above 1).
33This tells FS that it must hide your own requests in equivalent\-looking cover traffic.
34This should confound an adversaries traffic analysis, increasing the time and effort it would
35take to discover your identity. However, it also can significantly reduce performance, as
36your requests will be delayed until sufficient cover traffic is available. The specific
37numeric value (for anonymity levels above 1) is simple:
38Given an anonymity level L (above 1), each request FS makes on your behalf must be hidden in L-1 equivalent
39requests of cover traffic (traffic your peer routes for others) in the same time\-period.
40The time\-period is twice the average delay by which GNUnet artificially delays traffic.
41Note that regardless of the anonymity level you choose, peers that cache content in the
42network always use anonymity level 1.
29.It Fl c Ar FILENAME | Fl \-config= Ns Ar FILENAME 43.It Fl c Ar FILENAME | Fl \-config= Ns Ar FILENAME
30Use config file (default: 44Use config file (default:
31.Pa ~/.config/gnunet.conf Ns ) 45.Pa ~/.config/gnunet.conf Ns )
@@ -88,31 +102,6 @@ If you ever have to abort a download, you can at any time continue it by re-issu
88In that case GNUnet will not download blocks again that are already present. 102In that case GNUnet will not download blocks again that are already present.
89GNUnet's file-encoding will ensure file integrity, even if the existing file was not downloaded from GNUnet in the first place. 103GNUnet's file-encoding will ensure file integrity, even if the existing file was not downloaded from GNUnet in the first place.
90Temporary information will be appended to the target file until the download is completed. 104Temporary information will be appended to the target file until the download is completed.
91.Ss SETTING ANONYMITY LEVEL
92The
93.Fl a
94option can be used to specify additional anonymity constraints.
95If set to 0, GNUnet will try to download the file as fast as possible, including using non-anonymous methods.
96If you set it to 1 (default), you use the standard anonymous routing algorithm (which does not explicitly leak your identity).
97However, a powerful adversary may still be able to perform traffic analysis (statistics) to over time infer data about your identity.
98You can gain better privacy by specifying a higher level of anonymity, which increases the amount of cover traffic your own traffic will get, at the expense of performance.
99Note that your download performance is not only determined by your own anonymity level, but also by the anonymity level of the peers publishing the file.
100So even if you download with anonymity level 0, the peers publishing the data might be sharing with a higher anonymity level, which in this case will determine performance.
101Also, peers that cache content in the network always use anonymity level 1.
102.Pp
103This option can be used to limit requests further than that.
104In particular, you can require GNUnet to receive certain amounts of traffic from other peers before sending your queries.
105This way, you can gain very high levels of anonymity - at the expense of much more traffic and much higher latency.
106So set it only if you really believe you need it.
107.Pp
108The definition of ANONYMITY\-RECEIVE is the following.
1090 means no anonymity is required.
110Otherwise a value of 'v' means that 1 out of v bytes of "anonymous" traffic can be from the local user, leaving 'v-1' bytes of cover traffic per byte on the wire.
111Thus, if GNUnet routes n bytes of messages from foreign peers (using anonymous routing), it may originate n/(v-1) bytes of queries in the same time\-period.
112The time\-period is twice the average delay that GNUnet defers forwarded queries.
113.Pp
114The default is 1 and this should be fine for most users.
115Also notice that if you choose very large values, you may end up having no throughput at all, especially if many of your fellow GNUnet\-peers all do the same.
116.Sh FILES 105.Sh FILES
117.Pa ~/.config/gnunet.conf 106.Pa ~/.config/gnunet.conf
118GNUnet configuration file 107GNUnet configuration file
diff --git a/doc/man/gnunet-publish.1 b/doc/man/gnunet-publish.1
index 0cfad4c78..b003f27e0 100644
--- a/doc/man/gnunet-publish.1
+++ b/doc/man/gnunet-publish.1
@@ -125,7 +125,25 @@ However, indexing only works if the indexed file can be read (using the same abs
125If this is not the case, indexing will fail (and gnunet-publish will automatically revert to publishing instead). 125If this is not the case, indexing will fail (and gnunet-publish will automatically revert to publishing instead).
126Regardless of which method is used to publish the file, the file will be slowly (depending on how often it is requested and on how much bandwidth is available) dispersed into the network. 126Regardless of which method is used to publish the file, the file will be slowly (depending on how often it is requested and on how much bandwidth is available) dispersed into the network.
127If you publish or index a file and then leave the network, it will almost always NOT be available anymore. 127If you publish or index a file and then leave the network, it will almost always NOT be available anymore.
128.Sh OPTIONS
128.Bl -tag -width Ds 129.Bl -tag -width Ds
130.It Fl a Ar LEVEL | Fl \-anonymity= Ns Ar LEVEL
131This option can be used to specify additional anonymity constraints. The default is 1.
132If set to 0, GNUnet will publish the file non-anonymously and in fact sign the advertisement for the file using your peer's private key.
133This will allow other users to download the file as fast as possible, including using non-anonymous methods (discovery via DHT and CADET transfer).
134If you set it to 1 (default), you use the standard anonymous routing algorithm (which does not explicitly leak your identity).
135However, a powerful adversary may still be able to perform traffic analysis (statistics) to over time discovery your identity.
136You can gain better privacy by specifying a higher level of anonymity (using values above 1).
137This tells FS that it must hide your own requests in equivalent\-looking cover traffic.
138This should confound an adversaries traffic analysis, increasing the time and effort it would
139take to discover your identity. However, it also can significantly reduce performance, as
140your requests will be delayed until sufficient cover traffic is available. The specific
141numeric value (for anonymity levels above 1) is simple:
142Given an anonymity level L (above 1), each request FS makes on your behalf must be hidden in L\-1 equivalent
143requests of cover traffic (traffic your peer routes for others) in the same time\-period.
144The time\-period is twice the average delay by which GNUnet artificially delays traffic.
145Note that regardless of the anonymity level you choose, peers that cache content in the
146network always use anonymity level 1.
129.It Fl c Ar FILENAME | Fl \-config= Ns Ar FILENAME 147.It Fl c Ar FILENAME | Fl \-config= Ns Ar FILENAME
130Use alternate config file FILENAME. 148Use alternate config file FILENAME.
131If this option is not specified, the default is 149If this option is not specified, the default is
@@ -192,27 +210,6 @@ Print the version number.
192Be verbose. 210Be verbose.
193Using this option causes gnunet\-publish to print progress information and at the end the file identification that can be used to download the file from GNUnet. 211Using this option causes gnunet\-publish to print progress information and at the end the file identification that can be used to download the file from GNUnet.
194.El 212.El
195.Ss SETTING ANONYMITY LEVEL
196.Bl -tag -width Ds
197.It Fl a Ar LEVEL | Fl \-anonymity= Ns Ar LEVEL
198.El
199.sp
200The \fB\-a\fR option can be used to specify additional anonymity constraints.
201If set to 0, GNUnet will publish the file non-anonymously and in fact sign the advertisement for the file using your peer's private key.
202This will allow other users to download the file as fast as possible, including using non-anonymous methods (DHT, direct transfer).
203If you set it to 1 (default), you use the standard anonymous routing algorithm (which does not explicitly leak your identity).
204However, a powerful adversary may still be able to perform traffic analysis (statistics) to over time infer data about your identity.
205You can gain better privacy by specifying a higher level of anonymity, which increases the amount of cover traffic your own traffic will get, at the expense of performance.
206Note that regardless of the anonymity level you choose, peers that cache content in the network always use anonymity level 1.
207.Pp
208The definition of the ANONYMITY LEVEL is the following.
2090 means no anonymity is required.
210Otherwise a value of 'v' means that 1 out of v bytes of "anonymous" traffic can be from the local user, leaving 'v-1' bytes of cover traffic per byte on the wire.
211Thus, if GNUnet routes n bytes of messages from foreign peers (using anonymous routing), it may originate n/(v-1) bytes of data in the same time\-period.
212The time\-period is twice the average delay that GNUnet defers forwarded queries.
213.Pp
214The default is 1 and this should be fine for most users.
215Also notice that if you choose very large values, you may end up having no throughput at all, especially if many of your fellow GNUnet\-peers all do the same.
216.Sh EXAMPLES 213.Sh EXAMPLES
217.Ss BASIC EXAMPLES 214.Ss BASIC EXAMPLES
218Index a file COPYING: 215Index a file COPYING:
diff --git a/doc/man/gnunet-search.1 b/doc/man/gnunet-search.1
index d4ad4b516..58e16ea7b 100644
--- a/doc/man/gnunet-search.1
+++ b/doc/man/gnunet-search.1
@@ -24,30 +24,25 @@ Search for content on GNUnet.
24The keywords are case-sensitive. 24The keywords are case-sensitive.
25.Nm 25.Nm
26can be used both for a search in the global namespace as well as for searching a private subspace. 26can be used both for a search in the global namespace as well as for searching a private subspace.
27.Sh OPTIONS
27.Bl -tag -width Ds 28.Bl -tag -width Ds
28.It Fl a Ar LEVEL | Fl \-anonymity= Ns Ar LEVEL 29.It Fl a Ar LEVEL | Fl \-anonymity= Ns Ar LEVEL
29The \fB\-a\fR option can be used to specify additional anonymity constraints. 30This option can be used to specify additional anonymity constraints. The default is 1.
30If set to 0, GNUnet will try to download the file as fast as possible, including using non-anonymous methods. 31If set to 0, GNUnet will publish the file non-anonymously and in fact sign the advertisement for the file using your peer's private key.
32This will allow other users to download the file as fast as possible, including using non-anonymous methods (discovery via DHT and CADET transfer).
31If you set it to 1 (default), you use the standard anonymous routing algorithm (which does not explicitly leak your identity). 33If you set it to 1 (default), you use the standard anonymous routing algorithm (which does not explicitly leak your identity).
32However, a powerful adversary may still be able to perform traffic analysis (statistics) to over time infer data about your identity. 34However, a powerful adversary may still be able to perform traffic analysis (statistics) to over time discovery your identity.
33You can gain better privacy by specifying a higher level of anonymity, which increases the amount of cover traffic your own traffic will get, at the expense of performance. 35You can gain better privacy by specifying a higher level of anonymity (using values above 1).
34Note that your download performance is not only determined by your own anonymity level, but also by the anonymity level of the peers publishing the file. 36This tells FS that it must hide your own requests in equivalent\-looking cover traffic.
35So even if you download with anonymity level 0, the peers publishing the data might be sharing with a higher anonymity level, which in this case will determine performance. 37This should confound an adversaries traffic analysis, increasing the time and effort it would
36Also, peers that cache content in the network always use anonymity level 1. 38take to discover your identity. However, it also can significantly reduce performance, as
37.sp 39your requests will be delayed until sufficient cover traffic is available. The specific
38This option can be used to limit requests further than that. 40numeric value (for anonymity levels above 1) is simple:
39In particular, you can require GNUnet to receive certain amounts of traffic from other peers before sending your queries. 41Given an anonymity level L (above 1), each request FS makes on your behalf must be hidden in L\-1 equivalent
40This way, you can gain very high levels of anonymity \- at the expense of much more traffic and much higher latency. 42requests of cover traffic (traffic your peer routes for others) in the same time\-period.
41So set it only if you really believe you need it. 43The time\-period is twice the average delay by which GNUnet artificially delays traffic.
42.sp 44Note that regardless of the anonymity level you choose, peers that cache content in the
43The definition of ANONYMITY\-RECEIVE is the following. 45network always use anonymity level 1.
440 means no anonymity is required.
45Otherwise a value of 'v' means that 1 out of v bytes of "anonymous" traffic can be from the local user, leaving 'v-1' bytes of cover traffic per byte on the wire.
46Thus, if GNUnet routes n bytes of messages from foreign peers (using anonymous routing), it may originate n/(v-1) bytes of queries in the same time\-period.
47The time\-period is twice the average delay that GNUnet defers forwarded queries.
48.sp
49The default is 1 and this should be fine for most users.
50Also notice that if you choose very large values, you may end up having no throughput at all, especially if many of your fellow GNUnet\-peers all do the same.
51.It Fl c Ar FILENAME | Fl \-config= Ns Ar FILENAME 46.It Fl c Ar FILENAME | Fl \-config= Ns Ar FILENAME
52use config file (defaults: ~/.config/gnunet.conf) 47use config file (defaults: ~/.config/gnunet.conf)
53.It Fl h | \-help 48.It Fl h | \-help