[p2p-hackers] In search of the Darknet....

coderman coderman at gmail.com
Fri Aug 26 23:59:29 UTC 2005


On 8/26/05, Duncan B. Cragg <p2phack at cilux.org> wrote:
> 
> I Googled, but neither 'F2F' (friend-to-friend) nor 'Darknet' are
> discussed in the P2P-hackers archives. Are P2P-hackers just not
> interested in them?

i think the interest is here; perhaps terminology is more a culprit :)
i am working on these types of networks with a few friends but we
don't have any public details available yet.  my rambling commentary
instead:


> Putting Darknets into context, private-to-public is a continuum:
> 
>   -: data owned by just me (total privacy - not our concern in P2P)

this is a critical component of secure identities (or pseudonyms)
within a F2F or dark net.  some secrets must be strongly protected. 
i'm thinking of loop-AES protected filesystems here.  as a side note,
we recently setup a secure wireless vpn at defcon to show that strong
authentication and privacy for wireless networks is possible without
esoteric and complicated technology.  the IPsec vpn server has a dead
man's trigger connected to the reset switch on both boards - if your
hardware is in jeopardy you can release the trigger to flush all key
information from memory rendering the aes encrypted filesystems opaque
as well as terminating all active network sessions immediately: 
peertech.org/janus/defcon.html

good session management for authenticated communication is important;
while of very little practical utility the dead man's trigger shows
how you can make authenticated session duration an explicitly defined
state subject to your continued affirmation of system integrity.


>   -: data owned by me and you (not P2P either: encrypted email)

this could also encompass shared secrets used for authentication
and/or encryption between two peers in a larger network.


>   -: data owned by a group (F2F/Darknet)
>   -: data owned by a larger group (!)
>   -: data owned by everyone; i.e. no-one (anonymous P2P)
> 
> The bigger the group, the less private (more public) is something
> published within the group, when everyone is potentially identified, and
> the more anonymous is anything published in the name of the group to
> people outside it. People inside the group are also part of the
> potential recipients when publishing in the name of the group, so,
> through appropriate technology, it is possible to achieve anonymity in
> the eyes of everyone in proportion to the size of the group. If the
> group is everyone, it is possible to achieve complete anonymity when
> the technology supports it.

this is a difficult problem.  what do you consider a trustworthy group
size to ensure adequate anonymity?  how does latency of anonymous
interactions affect the type and scope of communication performed over
it?  (for example, universal reencryption mix networks are usable for
smaller networks with small payloads, they do not scale well, etc)

the Freehaven project (freehaven.net) covers a lot of this well. 
making the boundary between the different levels/types of
pseudonymity/anonymity well defined and robust is really tricky.


> If you want to use a Darknet technology, then clearly you have to be
> able to trust it, both to keep your private activities private, and,
> where this functionality is required, to support publishing in the name
> of the group without others being able to trace it back to you.
> Normally, we trust open technologies more than closed or commercial
> ones.

yes; strong privacy requires strong security which is difficult on
many different levels.  an open source implementation allows
independent validation of the security controls built into the network
and encourages more oversight of the design and operation of the
network than is usually possible with a closed source product hindered
by profit motives and press relations. but that is just my unbiased
opinion. ;)



> So, on to 'Freenet 2': Ian Clarke and Oskar Sandberg's DEFCON slides:
> ...
> Out-of-band peer introduction was mentioned, including needing a trusted
> rendezvous for NAT-ed peers. But limiting connections to trusted friends
> in itself creates a small WASTE-like network - otherwise, how do you
> prevent leakage, without adding the enforcement of ACLs (which was not
> mentioned in the slides)?

there are two methods for initial and transitive introduction of peers
in a dark/F2F network we are developing:

- trusted initial introduction with meatspace key exchange.  i like
the use of shared secrets / OTP for master keys on such a network
(used to exchange session keys for secure channels between peers). 
sometimes cumbersome key management is a feature, as it can provide
additional constraints on the topology of connections between users of
the network (if that makes sense).

our darknet is live linux ISO based so that a large amount of
encrypted key material can be included when you master an ISO for a
friend you want to key into the network.  this is another aspect of
open source implementations that is useful: they can be freely and
pervasively copied.  various resources (files, metadata, etc) can also
be cached on DVD ISO images as there is usually plenty of space on a
linux live DVD.  aggressive caching is important for these types of
networks but i'm already straying off topic here...

- transitive introduction using arbitrary peer grouping and implicit
feedback / profiling.  i don't have information on alpine available
(perhaps archive.org kept a copy?) that describes how implicit
feedback in user defined peer groups is useful for transitive
introduction.  the basic premise is that you ask peers who are useful
to you for other peers who may be useful in turn, where 'useful' is an
attribute defined by implicit feedback from your interaction with that
peer and the resources the peer has provided.

if you continue to "cultivate" your peer groups over time by removing
peers who are not helpful and adding new peers referred to you from
those who are helpful the effectiveness of resource discovery can be
continually improved, even for rare / obscure domains of search where
exhaustive/complete search is usually required to be effective.

feedbackfs is an example of the type of implicit feedback desired to
evaluate peer "utility" and also highlights the need for strong
privacy of your own domain due to the detailed usage statistics
gathered about your use of file resources obtained via the network.

- transitive introduction using an external network with specific
constraints.  as an example we intend to use wireless broadcast to
support transitive introduction of peers located in your vicinity.  in
this way you could add peers and resources located close by which may
be useful.


> In the meantime, I'm still left with the surprising conclusion that
> no-one is implementing the global Darknet (or 'Friendnet') in an open
> way!!

i tend to agree with Wes; these networks are difficult and of limited
interest right now.  a lot of people are working on the various pieces
that would be needed to build it.  like Wes mentioned:
    "just about any P2P app  could be built with some combination of
DHTs, FEC, crypto, capabilities, and pet names."

and speaking of pet names, i'm anticipating using sfs or equivalent as
the underlying store for all darknet data while a user friendly view
(the usual paths and such) are overlaid on top of the secure sfs
identifiers via pet names shared among trusted peers.  each peer can
share a signed pet name index with others and your interaction with
the pet name space on top of the secure ID filesystem (sfs/etc)
another good source of implicit feedback.

best regards,

---

looks like archive.org has some old copies of the alpine pages:
  http://web.archive.org/web/20041013082304/peertech.org/alpine/

and google still has a cached copy of the feedbackfs post on implicit
file system feedback applied to resource discovery:
  http://www.google.com/search?hl=en&lr=&q=peertech.org+implicit+feedback



More information about the P2p-hackers mailing list