try to address #5660:
authorChristian Grothoff <christian@grothoff.org>
Sat, 20 Apr 2019 19:45:25 +0000 (21:45 +0200)
committerChristian Grothoff <christian@grothoff.org>
Sat, 20 Apr 2019 19:45:25 +0000 (21:45 +0200)
doc/handbook/chapters/keyconcepts.texi
doc/handbook/chapters/user.texi
doc/man/gnunet-auto-share.1
doc/man/gnunet-download.1
doc/man/gnunet-publish.1
doc/man/gnunet-search.1

index 4b49a7ffb9b5222768acd4b896a899b111419eec..4900ed32853eb8f4f8fffce09da696696f2b311e 100644 (file)
@@ -15,7 +15,7 @@ The second part describes concepts specific to anonymous file-sharing.
 * Accounting to Encourage Resource Sharing::
 * Confidentiality::
 * Anonymity::
-* Deniability::                       
+* Deniability::
 * Peer Identities::
 * Zones in the GNU Name System (GNS Zones)::
 * Egos::
@@ -165,16 +165,20 @@ and Bart Preneel. Towards measuring anonymity.
 (@uref{https://git.gnunet.org/bibliography.git/plain/docs/article-89.pdf, https://git.gnunet.org/bibliography.git/plain/docs/article-89.pdf}))
 that can help quantify the level of anonymity that a given mechanism
 provides, there is no such thing as "complete anonymity".
+
 GNUnet's file-sharing implementation allows users to select for each
 operation (publish, search, download) the desired level of anonymity.
-The metric used is the amount of cover traffic available to hide the
-request.
-While this metric is not as good as, for example, the theoretical metric
-given in scientific metrics,
-it is probably the best metric available to a peer with a purely local
-view of the world that does not rely on unreliable external information.
-The default anonymity level is @code{1}, which uses anonymous routing but
-imposes no minimal requirements on cover traffic. It is possible
+The metric used is based on the amount of cover traffic needed to hide
+the request.
+
+While there is no clear way to relate the amount of available cover
+traffic to traditional scientific metrics such as the anonymity set or
+information leakage, it is probably the best metric available to a
+peer with a purely local view of the world, in that it does not rely
+on unreliable external information or a particular adversary model.
+
+The default anonymity level is @code{1}, which uses anonymous routing
+but imposes no minimal requirements on cover traffic. It is possible
 to forego anonymity when this is not required. The anonymity level of
 @code{0} allows GNUnet to use more efficient, non-anonymous routing.
 
@@ -192,7 +196,7 @@ In particular, we assume that the adversary can see all the traffic on
 the Internet. And while we assume that the adversary
 can not break our encryption, we assume that the adversary has many
 participating nodes in the network and that it can thus see many of the
-node-to-node interactions since it controls some of the nodes. 
+node-to-node interactions since it controls some of the nodes.
 
 The system tries to achieve anonymity based on the idea that users can be
 anonymous 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
 anonymous, the intermediaries may still be targets. In particular, if the
 intermediaries can find out which queries or which content they are
 processing, a strong adversary could try to force them to censor
-certain materials. 
+certain materials.
 
 With the file-encoding used by GNUnet's anonymous file-sharing, this
 problem does not arise.
index 37c5849ab9eef203173dcf90949ed5d65038407f..55518bc34ba2cc10f953a67a2052fefa44b43713 100644 (file)
@@ -1054,8 +1054,17 @@ anonymity level of "1" means that anonymous routing is desired, but no
 particular amount of cover traffic is necessary. A powerful adversary
 might thus still be able to deduce the origin of the traffic using
 traffic analysis. Specifying higher anonymity levels increases the
-amount of cover traffic required. While this offers better privacy,
-it can also significantly hurt performance.
+amount of cover traffic required.
+
+The specific numeric value (for anonymity levels above 1) is simple:
+Given an anonymity level L (above 1), each request FS makes on your
+behalf must be hidden in L-1 equivalent requests of cover traffic
+(traffic your peer routes for others) in the same time-period.  The
+time-period is twice the average delay by which GNUnet artificially
+delays traffic.
+
+While higher anonymity levels may offer better privacy, they can also
+significantly hurt performance.
 
 @node Content Priority
 @subsubsection Content Priority
@@ -2324,6 +2333,3 @@ service offered by that peer, you can create an IP tunnel to
 that peer by specifying the peer's identity, service name and
 protocol (--tcp or --udp) and you will again receive an IP address
 that will terminate at the respective peer's service.
-
-
-
index 19cb998fadc58bc71f6f9eab909a042571f8f67d..e68ecdc08d495097de5e343744ac92caa0e465f6 100644 (file)
@@ -28,24 +28,25 @@ You can run the tool by hand or automatically by adding the respective options t
 gnunet-auto-share has many options in common with gnunet-publish, but can only be used to index files.
 .Pp
 You can use automatic meta-data extraction (based on libextractor).
+.Sh OPTIONS
 .Bl -tag -width Ds
 .It Fl a Ar LEVEL | Fl \-anonymity= Ns Ar LEVEL
-This option can be used to specify additional anonymity constraints.
+This option can be used to specify additional anonymity constraints. The default is 1.
 If 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.
-This will allow other users to download the file as fast as possible, including using non-anonymous methods (DHT, direct transfer).
+This will allow other users to download the file as fast as possible, including using non-anonymous methods (discovery via DHT and CADET transfer).
 If you set it to 1 (default), you use the standard anonymous routing algorithm (which does not explicitly leak your identity).
-However, a powerful adversary may still be able to perform traffic analysis (statistics) to over time infer data about your identity.
-You 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.
-Note that regardless of the anonymity level you choose, peers that cache content in the network always use anonymity level 1.
-.Pp
-The definition of the ANONYMITY LEVEL is the following.
-0 means no anonymity is required.
-Otherwise 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.
-Thus, 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.
-The time-period is twice the average delay that GNUnet defers forwarded queries.
-.Pp
-The default is 1 and this should be fine for most users.
-Also 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.
+However, a powerful adversary may still be able to perform traffic analysis (statistics) to over time discovery your identity.
+You can gain better privacy by specifying a higher level of anonymity (using values above 1).
+This tells FS that it must hide your own requests in equivalent\-looking cover traffic.
+This should confound an adversaries traffic analysis, increasing the time and effort it would
+take to discover your identity. However, it also can significantly reduce performance, as
+your requests will be delayed until sufficient cover traffic is available.  The specific
+numeric value (for anonymity levels above 1) is simple:
+Given an anonymity level L (above 1), each request FS makes on your behalf must be hidden in L\-1 equivalent
+requests of cover traffic (traffic your peer routes for others) in the same time\-period.
+The time\-period is twice the average delay by which GNUnet artificially delays traffic.
+Note that regardless of the anonymity level you choose, peers that cache content in the
+network always use anonymity level 1.
 .It Fl c Ar FILENAME | Fl \-config= Ns Ar FILENAME
 Use alternate config file (if this option is not specified, the default is
 .Pa ~/.config/gnunet.conf Ns ).
index e2c4ab365ded7acdaa5e559ec953b9606e3d447e..f278694c347107900ce1b3121c961ef44260babd 100644 (file)
@@ -24,8 +24,22 @@ a command line interface for downloading files from GNUnet
 Download files from GNUnet.
 .Bl -tag -width Ds
 .It Fl a Ar LEVEL | Fl \-anonymity= Ns Ar LEVEL
-Set desired level of receiver anonymity.
-Default is 1.
+This option can be used to specify additional anonymity constraints. The default is 1.
+If 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.
+This will allow other users to download the file as fast as possible, including using non-anonymous methods (discovery via DHT and CADET transfer).
+If you set it to 1 (default), you use the standard anonymous routing algorithm (which does not explicitly leak your identity).
+However, a powerful adversary may still be able to perform traffic analysis (statistics) to over time discovery your identity.
+You can gain better privacy by specifying a higher level of anonymity (using values above 1).
+This tells FS that it must hide your own requests in equivalent\-looking cover traffic.
+This should confound an adversaries traffic analysis, increasing the time and effort it would
+take to discover your identity. However, it also can significantly reduce performance, as
+your requests will be delayed until sufficient cover traffic is available.  The specific
+numeric value (for anonymity levels above 1) is simple:
+Given an anonymity level L (above 1), each request FS makes on your behalf must be hidden in L-1 equivalent
+requests of cover traffic (traffic your peer routes for others) in the same time\-period.
+The time\-period is twice the average delay by which GNUnet artificially delays traffic.
+Note that regardless of the anonymity level you choose, peers that cache content in the
+network always use anonymity level 1.
 .It Fl c Ar FILENAME | Fl \-config= Ns Ar FILENAME
 Use config file (default:
 .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
 In that case GNUnet will not download blocks again that are already present.
 GNUnet's file-encoding will ensure file integrity, even if the existing file was not downloaded from GNUnet in the first place.
 Temporary information will be appended to the target file until the download is completed.
-.Ss SETTING ANONYMITY LEVEL
-The
-.Fl a
-option can be used to specify additional anonymity constraints.
-If set to 0, GNUnet will try to download the file as fast as possible, including using non-anonymous methods.
-If you set it to 1 (default), you use the standard anonymous routing algorithm (which does not explicitly leak your identity).
-However, a powerful adversary may still be able to perform traffic analysis (statistics) to over time infer data about your identity.
-You 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.
-Note 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.
-So 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.
-Also, peers that cache content in the network always use anonymity level 1.
-.Pp
-This option can be used to limit requests further than that.
-In particular, you can require GNUnet to receive certain amounts of traffic from other peers before sending your queries.
-This way, you can gain very high levels of anonymity - at the expense of much more traffic and much higher latency.
-So set it only if you really believe you need it.
-.Pp
-The definition of ANONYMITY\-RECEIVE is the following.
-0 means no anonymity is required.
-Otherwise 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.
-Thus, 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.
-The time\-period is twice the average delay that GNUnet defers forwarded queries.
-.Pp
-The default is 1 and this should be fine for most users.
-Also 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.
 .Sh FILES
 .Pa ~/.config/gnunet.conf
 GNUnet configuration file
index 0cfad4c78ec7135c323ce694781751c96a1ba263..b003f27e0d16ea0f79aab8d681447972870c22fc 100644 (file)
@@ -125,7 +125,25 @@ However, indexing only works if the indexed file can be read (using the same abs
 If this is not the case, indexing will fail (and gnunet-publish will automatically revert to publishing instead).
 Regardless 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.
 If you publish or index a file and then leave the network, it will almost always NOT be available anymore.
+.Sh OPTIONS
 .Bl -tag -width Ds
+.It Fl a Ar LEVEL | Fl \-anonymity= Ns Ar LEVEL
+This option can be used to specify additional anonymity constraints. The default is 1.
+If 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.
+This will allow other users to download the file as fast as possible, including using non-anonymous methods (discovery via DHT and CADET transfer).
+If you set it to 1 (default), you use the standard anonymous routing algorithm (which does not explicitly leak your identity).
+However, a powerful adversary may still be able to perform traffic analysis (statistics) to over time discovery your identity.
+You can gain better privacy by specifying a higher level of anonymity (using values above 1).
+This tells FS that it must hide your own requests in equivalent\-looking cover traffic.
+This should confound an adversaries traffic analysis, increasing the time and effort it would
+take to discover your identity. However, it also can significantly reduce performance, as
+your requests will be delayed until sufficient cover traffic is available.  The specific
+numeric value (for anonymity levels above 1) is simple:
+Given an anonymity level L (above 1), each request FS makes on your behalf must be hidden in L\-1 equivalent
+requests of cover traffic (traffic your peer routes for others) in the same time\-period.
+The time\-period is twice the average delay by which GNUnet artificially delays traffic.
+Note that regardless of the anonymity level you choose, peers that cache content in the
+network always use anonymity level 1.
 .It Fl c Ar FILENAME | Fl \-config= Ns Ar FILENAME
 Use alternate config file FILENAME.
 If this option is not specified, the default is
@@ -192,27 +210,6 @@ Print the version number.
 Be verbose.
 Using 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.
 .El
-.Ss SETTING ANONYMITY LEVEL
-.Bl -tag -width Ds
-.It Fl a Ar LEVEL | Fl \-anonymity= Ns Ar LEVEL
-.El
-.sp
-The \fB\-a\fR option can be used to specify additional anonymity constraints.
-If 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.
-This will allow other users to download the file as fast as possible, including using non-anonymous methods (DHT, direct transfer).
-If you set it to 1 (default), you use the standard anonymous routing algorithm (which does not explicitly leak your identity).
-However, a powerful adversary may still be able to perform traffic analysis (statistics) to over time infer data about your identity.
-You 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.
-Note that regardless of the anonymity level you choose, peers that cache content in the network always use anonymity level 1.
-.Pp
-The definition of the ANONYMITY LEVEL is the following.
-0 means no anonymity is required.
-Otherwise 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.
-Thus, 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.
-The time\-period is twice the average delay that GNUnet defers forwarded queries.
-.Pp
-The default is 1 and this should be fine for most users.
-Also 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.
 .Sh EXAMPLES
 .Ss BASIC EXAMPLES
 Index a file COPYING:
index d4ad4b5166bce27575862b31e7d1907910c7fd74..58e16ea7b961b1bfaf59efaae9cf89de25863969 100644 (file)
@@ -24,30 +24,25 @@ Search for content on GNUnet.
 The keywords are case-sensitive.
 .Nm
 can be used both for a search in the global namespace as well as for searching a private subspace.
+.Sh OPTIONS
 .Bl -tag -width Ds
 .It Fl a Ar LEVEL | Fl \-anonymity= Ns Ar LEVEL
-The \fB\-a\fR option can be used to specify additional anonymity constraints.
-If set to 0, GNUnet will try to download the file as fast as possible, including using non-anonymous methods.
+This option can be used to specify additional anonymity constraints. The default is 1.
+If 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.
+This will allow other users to download the file as fast as possible, including using non-anonymous methods (discovery via DHT and CADET transfer).
 If you set it to 1 (default), you use the standard anonymous routing algorithm (which does not explicitly leak your identity).
-However, a powerful adversary may still be able to perform traffic analysis (statistics) to over time infer data about your identity.
-You 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.
-Note 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.
-So 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.
-Also, peers that cache content in the network always use anonymity level 1.
-.sp
-This option can be used to limit requests further than that.
-In particular, you can require GNUnet to receive certain amounts of traffic from other peers before sending your queries.
-This way, you can gain very high levels of anonymity \- at the expense of much more traffic and much higher latency.
-So set it only if you really believe you need it.
-.sp
-The definition of ANONYMITY\-RECEIVE is the following.
-0 means no anonymity is required.
-Otherwise 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.
-Thus, 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.
-The time\-period is twice the average delay that GNUnet defers forwarded queries.
-.sp
-The default is 1 and this should be fine for most users.
-Also 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.
+However, a powerful adversary may still be able to perform traffic analysis (statistics) to over time discovery your identity.
+You can gain better privacy by specifying a higher level of anonymity (using values above 1).
+This tells FS that it must hide your own requests in equivalent\-looking cover traffic.
+This should confound an adversaries traffic analysis, increasing the time and effort it would
+take to discover your identity. However, it also can significantly reduce performance, as
+your requests will be delayed until sufficient cover traffic is available.  The specific
+numeric value (for anonymity levels above 1) is simple:
+Given an anonymity level L (above 1), each request FS makes on your behalf must be hidden in L\-1 equivalent
+requests of cover traffic (traffic your peer routes for others) in the same time\-period.
+The time\-period is twice the average delay by which GNUnet artificially delays traffic.
+Note that regardless of the anonymity level you choose, peers that cache content in the
+network always use anonymity level 1.
 .It Fl c Ar FILENAME | Fl \-config= Ns Ar FILENAME
 use config file (defaults: ~/.config/gnunet.conf)
 .It Fl h | \-help