Re: [tor-dev] Hidden Service Scaling

2013-10-09 Thread Christopher Baines
On 09/10/13 01:16, Matthew Finkel wrote:
>> So, before I start trying to implement a prototype, I thought I would
>> set out my ideas here to check they are reasonable (I have also been
>> discussing this a bit on #tor-dev). The goal of this is two fold,  to
>> reduce the probability of failure of a hidden service and to increase
>> hidden service scalability.
>>
> 
> These are excellent goals. It would be even better if you made a
> stronger statement about hidden service failure. Something closer to
> "increase hidden service availablity", but I won't bikeshed on the
> wording.

I agree, that is clearer.

>> I think what I am planning distils down to two main changes. Firstly,
>> when a OP initialises a hidden service, currently if you start a hidden
>> service using an existing keypair and address, the new OP's introduction
>> points replace the existing introduction points [2]. This does provide
>> some redundancy (if slow), but no load balancing.
> 
> So an interesting thing to note about this hack is that it does provide
> *some* load balancing. Not much, but some. The reason for this is
> because Tor clients cache hidden service descriptors so that they don't
> need to refetch every time they want to connect to it.
>  
>> My current plan is to change this such that if the OP has an existing
>> public/private keypair and address, it would attempt to lookup the
>> existing introduction points (probably over a Tor circuit). If found, it
>> then establishes introduction circuits to those Tor servers.
>>
>> Then comes the second problem, following the above, the introduction
>> point would then disconnect from any other connected OP using the same
>> public key (unsure why as a reason is not given in the rend-spec). This
>> would need to change such that an introduction point can talk to more
>> than one instance of the hidden service.
>>
> 
> It's important to think about the current design based on the assumption
> that a hidden service is a single node. Any modifications to this
> assumption will change the behavior of the various components.

The only interactions I currently believe can be affected are the Hidden
Service instance <-> Introduction point(s) and Hidden Service instance
<-> directory server. I need to go and read more about the latter, as I
don't have all the information yet.

>> These two changes combined should help with the two goals. Reliability
>> is improved by having multiple OP's providing the service, and having
>> all of these accessible from the introduction points. Scalability is
>> also improved, as you are not limited to one OP (as described above,
>> currently you can also have +1 but only one will receive most of the
>> traffic, and fail over is slow).
>  
> Do you see any disadvantages to this design?

So, care needs to be taken around the interaction between the hidden
service instances, and the introduction points. If each instance just
makes one circuit, then this reveals the number of instances.

There is also uncertainty around the replacement of failing introduction
points. New ones have to be chosen, but as the service instances do not
directly communicate, there could be some interesting behaviour unless
this is done carefully.

I am also unsure how the lack of direct communication between the hidden
service instances could affect the usability of this. I think what would
be good to do is take some large, open source, distributed web
applications and look at how/how not to set them up using various
possible implementations of distributed hidden services.

>> I am aware that there are several undefined parts of the above
>> description, e.g. how does a introduction point choose what circuit to
>> use? but at the moment I am more interested in the wider picture. It
>> would be good to get some feedback on this.
>>
>> 1: https://blog.torproject.org/blog/hidden-services-need-some-love
>> 2:
>> http://tor.stackexchange.com/questions/13/can-a-hidden-service-be-hosted-by-multiple-instances-of-tor/24#24
> 
> This is a good start! Some important criteria you might also think
> about include how much you trust each component/node and which nodes do
> you want to be responsible for deciding where connections are routed.
> Also seriously think about how something like a botnet that uses hidden
> services might impact the reliability of your design (crazy idea, I
> know).

I assume the characteristics of this are: 1 or more hidden service
instances, connected to by very large numbers of clients, sending and
reviving small amounts of information?




signature.asc
Description: OpenPGP digital signature
___
tor-dev mailing list
tor-dev@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev


Re: [tor-dev] Hidden Service Scaling

2013-10-09 Thread Paul Syverson
On Wed, Oct 09, 2013 at 09:58:07AM +0100, Christopher Baines wrote:
> On 09/10/13 01:16, Matthew Finkel wrote:

> >> Then comes the second problem, following the above, the introduction
> >> point would then disconnect from any other connected OP using the same
> >> public key (unsure why as a reason is not given in the rend-spec). This
> >> would need to change such that an introduction point can talk to more
> >> than one instance of the hidden service.
> >>
> > 
> > It's important to think about the current design based on the assumption
> > that a hidden service is a single node. Any modifications to this
> > assumption will change the behavior of the various components.
> 
> The only interactions I currently believe can be affected are the Hidden
> Service instance <-> Introduction point(s) and Hidden Service instance
> <-> directory server. I need to go and read more about the latter, as I
> don't have all the information yet.

Indeed. Lots of issues there.

> 
> >> These two changes combined should help with the two goals. Reliability
> >> is improved by having multiple OP's providing the service, and having
> >> all of these accessible from the introduction points. Scalability is
> >> also improved, as you are not limited to one OP (as described above,
> >> currently you can also have +1 but only one will receive most of the
> >> traffic, and fail over is slow).
> >  
> > Do you see any disadvantages to this design?
> 
> So, care needs to be taken around the interaction between the hidden
> service instances, and the introduction points. If each instance just
> makes one circuit, then this reveals the number of instances.

You said something similar in response to Nick, specifically you said

   I believe that to mask the state and possibly number of instances,
   you would have to at least have some of the introduction points
   connecting to multiple instances.

I didn't understand why you said this in either place. Someone would
have to know they had a complete list of introduction points to
know the number of instances, but that would depend on how HS descriptors
are created, stored, and distributed. From whom is this being hidden?
You didn't state the adversary. Is it HS directory servers, intro point
operators, potential clients of a hidden service?  I don't see why
any of these necessarily learns the state or number of instances
simply because each intro point is chosen by a single instance
(ignoring coincidental collisions if these choices are not coordinated).

Also, in your response to Nick you said that not having instances share
intro points in some way would place an upper bound on the number of
instances. True, but if the number of available intro points >> likely
number of instances, this is a nonissue. And come to think of it,
not true: if the instances are sometimes choosing the same intro points
then this does not bound the number of instances possible (ignoring
the number of HSes or instances for which a single intro point can
serve as intro point at one time).

Also, above you said "If each instance just makes one circuit". Did
you mean if there is a single intro point per instance? 

Hard to say specifically without exploring more, but in general I
would be more worried about what is revealed because circuits are
built to common intro points by different instances and the intro
points can recognize and manage these, e.g., dropping redundant ones
than I would be because the number of intro points puts an upper
bound on instances.

HTH,
Paul
___
tor-dev mailing list
tor-dev@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev


Re: [tor-dev] Hidden Service Scaling

2013-10-09 Thread Christopher Baines
On 09/10/13 11:41, Paul Syverson wrote:
 These two changes combined should help with the two goals. Reliability
 is improved by having multiple OP's providing the service, and having
 all of these accessible from the introduction points. Scalability is
 also improved, as you are not limited to one OP (as described above,
 currently you can also have +1 but only one will receive most of the
 traffic, and fail over is slow).
>>>  
>>> Do you see any disadvantages to this design?
>>
>> So, care needs to be taken around the interaction between the hidden
>> service instances, and the introduction points. If each instance just
>> makes one circuit, then this reveals the number of instances.
> 
> You said something similar in response to Nick, specifically you said
> 
>I believe that to mask the state and possibly number of instances,
>you would have to at least have some of the introduction points
>connecting to multiple instances.
> 
> I didn't understand why you said this in either place. Someone would
> have to know they had a complete list of introduction points to
> know the number of instances, but that would depend on how HS descriptors
> are created, stored, and distributed. From whom is this being hidden?
> You didn't state the adversary. Is it HS directory servers, intro point
> operators, potential clients of a hidden service?  I don't see why
> any of these necessarily learns the state or number of instances
> simply because each intro point is chosen by a single instance
> (ignoring coincidental collisions if these choices are not coordinated).

To clarify, I was interpreting the goal as only the service operator
should know the number of instances. In particular, the adversary here
is the introduction point. If hidden service instances only ever create
one circuit to each introduction point, each introduction point knows
the number of instances of every service it is an introduction point
for, as this is the same as the number of circuits for that service.

> Also, in your response to Nick you said that not having instances share
> intro points in some way would place an upper bound on the number of
> instances. True, but if the number of available intro points >> likely
> number of instances, this is a nonissue. 

I don't really follow your reasoning.

> And come to think of it,
> not true: if the instances are sometimes choosing the same intro points
> then this does not bound the number of instances possible (ignoring
> the number of HSes or instances for which a single intro point can
> serve as intro point at one time).

Ok, but I was assuming the current behaviour of Tor, which I believe
prevents instances using some of the same introduction points.

> Also, above you said "If each instance just makes one circuit". Did
> you mean if there is a single intro point per instance? 

No, as you could have one instance that makes say 3 circuits to just one
introduction point. This can help, as it can hide the number of
instances from the introduction point.

> Hard to say specifically without exploring more, but in general I
> would be more worried about what is revealed because circuits are
> built to common intro points by different instances and the intro
> points can recognize and manage these, e.g., dropping redundant ones
> than I would be because the number of intro points puts an upper
> bound on instances.

I don't quite understand the last part, but regarding introduction
points handling more that one circuit for the same service. I think that
having this helps possibly hide information (like the number of
instances). This does depend on also allowing one instance to use
multiple circuits, otherwise, some information would be given away.

I might try creating a wiki page on the Tor wiki to collect all of the
information in this thread, as it might be a nice reference for discussion.



signature.asc
Description: OpenPGP digital signature
___
tor-dev mailing list
tor-dev@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev


Re: [tor-dev] [tor-commits] [tor/master] Clarify who learns about ContactInfo.

2013-10-09 Thread Roger Dingledine
On Wed, Oct 09, 2013 at 01:45:26PM +, ni...@torproject.org wrote:
> diff --git a/src/config/torrc.sample.in b/src/config/torrc.sample.in
> index c667efc..78013c2 100644
> --- a/src/config/torrc.sample.in
> +++ b/src/config/torrc.sample.in
> @@ -120,9 +120,12 @@
>  ## is per month)
>  #AccountingStart month 3 15:00
>  
> -## Contact info to be published in the directory, so we can contact you
> -## if your relay is misconfigured or something else goes wrong. Google
> -## indexes this, so spammers might also collect it.
> +## Administrative contact information for this relay or bridge. This line
> +## can be used to contact you if your relay or bridge is misconfigured or
> +## something else goes wrong. Note that we archive and publish all
> +## descriptors containing these lines and that Google indexes them, so
> +## spammers might also collect them. You may want to obscure the fact that
> +## it's an email address and/or generate a new address for this purpose.
>  #ContactInfo Random Person 
>  ## You might also include your PGP or GPG fingerprint if you have one:
>  #ContactInfo 0x Random Person 

Hi Nick, Karsten,

You've just changed the torrc.sample.in file, which will cause everybody
who uses the deb and upgrades from Tor 0.2.4.17-rc to have to manually
evaluate/adjust/replace their /etc/tor/torrc file.

Are you sure you want to do this?

It's not the end of the world here since the torrc.sample was last
updated for Tor 0.2.4.3-alpha, so people upgrading from 0.2.3.x debs
will already be affected.

But I wonder if it's really worth hassling every deb user who will
be upgrading from 0.2.4.x?

In any case we should update the
## Last updated 12 September 2012 for Tor 0.2.4.3-alpha.
line at the top of the file, so we can accurately predict who will be
affected by changes like this in the future.

--Roger

___
tor-dev mailing list
tor-dev@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev


Re: [tor-dev] [tor-commits] [tor/master] Clarify who learns about ContactInfo.

2013-10-09 Thread Nick Mathewson
On Wed, Oct 9, 2013 at 10:42 AM, Roger Dingledine  wrote:
> On Wed, Oct 09, 2013 at 01:45:26PM +, ni...@torproject.org wrote:
>> diff --git a/src/config/torrc.sample.in b/src/config/torrc.sample.in
>> index c667efc..78013c2 100644
>> --- a/src/config/torrc.sample.in
>> +++ b/src/config/torrc.sample.in
>> @@ -120,9 +120,12 @@
>>  ## is per month)
>>  #AccountingStart month 3 15:00
>>
>> -## Contact info to be published in the directory, so we can contact you
>> -## if your relay is misconfigured or something else goes wrong. Google
>> -## indexes this, so spammers might also collect it.
>> +## Administrative contact information for this relay or bridge. This line
>> +## can be used to contact you if your relay or bridge is misconfigured or
>> +## something else goes wrong. Note that we archive and publish all
>> +## descriptors containing these lines and that Google indexes them, so
>> +## spammers might also collect them. You may want to obscure the fact that
>> +## it's an email address and/or generate a new address for this purpose.
>>  #ContactInfo Random Person 
>>  ## You might also include your PGP or GPG fingerprint if you have one:
>>  #ContactInfo 0x Random Person 
>
> Hi Nick, Karsten,
>
> You've just changed the torrc.sample.in file, which will cause everybody
> who uses the deb and upgrades from Tor 0.2.4.17-rc to have to manually
> evaluate/adjust/replace their /etc/tor/torrc file.
>
> Are you sure you want to do this?
>
> It's not the end of the world here since the torrc.sample was last
> updated for Tor 0.2.4.3-alpha, so people upgrading from 0.2.3.x debs
> will already be affected.
>
> But I wonder if it's really worth hassling every deb user who will
> be upgrading from 0.2.4.x?
>
> In any case we should update the
> ## Last updated 12 September 2012 for Tor 0.2.4.3-alpha.
> line at the top of the file, so we can accurately predict who will be
> affected by changes like this in the future.

I'm fine either way, up to and including reverting the change for
0.2.4 and keeping it in 0.2.5.

What do you think, Karsten?
-- 
Nick
___
tor-dev mailing list
tor-dev@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev


Re: [tor-dev] [tor-commits] [tor/master] Clarify who learns about ContactInfo.

2013-10-09 Thread Karsten Loesing
On 10/9/13 4:45 PM, Nick Mathewson wrote:
> On Wed, Oct 9, 2013 at 10:42 AM, Roger Dingledine  wrote:
>> On Wed, Oct 09, 2013 at 01:45:26PM +, ni...@torproject.org wrote:
>>> diff --git a/src/config/torrc.sample.in b/src/config/torrc.sample.in
>>> index c667efc..78013c2 100644
>>> --- a/src/config/torrc.sample.in
>>> +++ b/src/config/torrc.sample.in
>>> @@ -120,9 +120,12 @@
>>>  ## is per month)
>>>  #AccountingStart month 3 15:00
>>>
>>> -## Contact info to be published in the directory, so we can contact you
>>> -## if your relay is misconfigured or something else goes wrong. Google
>>> -## indexes this, so spammers might also collect it.
>>> +## Administrative contact information for this relay or bridge. This line
>>> +## can be used to contact you if your relay or bridge is misconfigured or
>>> +## something else goes wrong. Note that we archive and publish all
>>> +## descriptors containing these lines and that Google indexes them, so
>>> +## spammers might also collect them. You may want to obscure the fact that
>>> +## it's an email address and/or generate a new address for this purpose.
>>>  #ContactInfo Random Person 
>>>  ## You might also include your PGP or GPG fingerprint if you have one:
>>>  #ContactInfo 0x Random Person 
>>
>> Hi Nick, Karsten,
>>
>> You've just changed the torrc.sample.in file, which will cause everybody
>> who uses the deb and upgrades from Tor 0.2.4.17-rc to have to manually
>> evaluate/adjust/replace their /etc/tor/torrc file.
>>
>> Are you sure you want to do this?
>>
>> It's not the end of the world here since the torrc.sample was last
>> updated for Tor 0.2.4.3-alpha, so people upgrading from 0.2.3.x debs
>> will already be affected.
>>
>> But I wonder if it's really worth hassling every deb user who will
>> be upgrading from 0.2.4.x?
>>
>> In any case we should update the
>> ## Last updated 12 September 2012 for Tor 0.2.4.3-alpha.
>> line at the top of the file, so we can accurately predict who will be
>> affected by changes like this in the future.
> 
> I'm fine either way, up to and including reverting the change for
> 0.2.4 and keeping it in 0.2.5.
> 
> What do you think, Karsten?

Oh!  Probably not worth hassling 0.2.4 deb users.  It looks like many
people upgraded to 0.2.4.17-rc in September.  There are about 1000 of
4400 relays running 0.2.4 these days [0].

How about we partially a) revert the change to torrc.sample.in for 0.2.4
(the man page change can stay, right?) and b) update the "Last updated"
part in the 0.2.5 torrc.sample.in?

Nick, please find
https://gitweb.torproject.org/karsten/tor.git/shortlog/refs/heads/task-9854-2
for the change in b).  I'm not entirely sure how to do the change in a)
without messing up your backporting logic.

Thanks!

All the best,
Karsten


[0]
https://metrics.torproject.org/network.html?graph=versions&start=2013-01-01&end=2013-10-09#versions

___
tor-dev mailing list
tor-dev@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev


Re: [tor-dev] Pluggable Transport TBB Build

2013-10-09 Thread Kevin P Dyer
Hi David!

Thanks for the detailed response. My thoughts are inline.

On Sun, Oct 6, 2013 at 3:30 PM, David Fifield  wrote:
> On Sat, Oct 05, 2013 at 11:08:40AM -0400, Kevin P Dyer wrote:
>> Sorry I missed the most recent Pluggable Transport bi-weekly meeting.
>>
>> In regards to the PTTBB build, I plan to make progress towards a
>> streamlined build process.
>>
>> Platforms I want to get the PTTBB build working on:
>> 1) CentOS 5.9 (32-bit)
>> 2) CentOS 5.9 (64-bit)
>> 3) Windows 7
>> 4) OSX 10.8
>>
>> For each build platform I'm going to:
>> 1) Create a VirtualBox image.
>> 2) Construct a script that takes the latest TBB release and VirtualBox
>> image as input, and outputs a PTTBB zip file. The output PTTBB zip
>> file will include all of the "deployed" pluggable transports.
>>
>> The build process must be deterministic and reproducible.
>
> Thank you for taking an interest in this. Two things:
>  1. There already exist build scripts and VM instructions, which we use
> to build the PT TBB. If you want to build a bundle including FTE,
> your best bet is to start by modifying those scripts.
>  2. The Tor Project already has a very nice reproducible build system,
> not yet used for the PT TBB. I want to start using it for the PT
> bundles in the nearish future.
>
> For the scripts we use to build the PT TBB now, please see
> https://gitweb.torproject.org/pluggable-transports/bundle.git
> https://gitweb.torproject.org/pluggable-transports/bundle.git/blob/HEAD:/Makefile
> https://gitweb.torproject.org/pluggable-transports/bundle.git/blob/HEAD:/bundle-gnulinux.txt
> https://gitweb.torproject.org/pluggable-transports/bundle.git/blob/HEAD:/bundle-macosx.txt
> https://gitweb.torproject.org/pluggable-transports/bundle.git/blob/HEAD:/bundle-windows.txt
> They work much the way you describe: you boot a VM, and run a "make"
> command. The makefile unzips the vanilla bundle, builds the pluggable
> transports and copies them into the bundle, then zips it up again.

This is a good start and goes a long way towards automating the build
process. However, I'm looking for "Press a button, make a sandwich,
have all builds (for all platforms) ready when I come back."-type of
automation. It appears that the current procedure requires booting up
four systems (virtual or physical) manually, then manually running the
build script in each instance.

I've had success fully-automating the build using vagrant for the
linux builds. (Execute "vagrant up," wait a few minutes, then we have
i386/amd64 PTTBB .tar.gz files.) I only encountered two issues [1,2].
OSX is next. How may I share this work on
https://gitweb.torproject.org/?

> At the time we started making PT TBBs, Tor's reproducible build system
> was not finished. I think the new system has great advantages for PT TBB
> builds, so I want to start building them that way. That is the subject
> of this ticket:
> https://trac.torproject.org/projects/tor/ticket/9444
>
> About the reproducible build system, please see this blog post and its
> linked documentation:
> https://blog.torproject.org/blog/deterministic-builds-part-two-technical-details
> You make a good point about the need for reproducibility. This existing
> system took six months of work working around nontrivial problems (see
> the blog post), and it's super nice. It's not something you want to
> reinvent by yourself.

I agree. We should definitely work towards using that system long term.

>> I was hoping to do this on Amazon Web Services, to avoid the licensing
>> issues. However, AWS does not support OSX.
>
> A huge advantage of the reproducible build system is that it requires
> neither a Windows license nor an OS X install. Everything is
> cross-compiled from Ubuntu. From a practical perspective, I care about
> this feature even more than reproducibility. The need to boot up an
> actual physical Mac is one reason why PT builds have lagged behind
> (#9391).

Cross-compilation would certainly be a nice feature to have. However,
for testing the product of a cross-compiled build, I'll need to have a
development environment with each of the target platforms. I'm
unwilling to have a bunch of physical machines for testing. Hence, I'm
eager for full virtualization, which also helps with full-automation
of the build.

I've looked a bit more into the OSX EULA. Even though running OSX as a
guest on Windows/Linux seems prevalent, it is against the EULA [4].
However, the EULA, since 10.7, states (c.f., sec. 2.B.iii) that you
can spin up virtual instances on Mac hardware. So, I guess it will be
up to each of us to figure out our ideal configuration, but the only
legal way to do full virtualization requires Mac hardware. Lame.

>> I anticipate this will be a non-trivial effort to get working
>> correctly. So, it would be great if you could help me adjust my plan
>> to minimize headache!
>
> As you see, it's a bit muddled because we are in a transition between
> two build systems. What I recommend is first doing a 

Re: [tor-dev] [tor-commits] [tor/master] Clarify who learns about ContactInfo.

2013-10-09 Thread Nick Mathewson
On Wed, Oct 9, 2013 at 11:49 AM, Karsten Loesing  wrote:
> On 10/9/13 4:45 PM, Nick Mathewson wrote:
>> On Wed, Oct 9, 2013 at 10:42 AM, Roger Dingledine  wrote:
>>> On Wed, Oct 09, 2013 at 01:45:26PM +, ni...@torproject.org wrote:
 diff --git a/src/config/torrc.sample.in b/src/config/torrc.sample.in
 index c667efc..78013c2 100644
 --- a/src/config/torrc.sample.in
 +++ b/src/config/torrc.sample.in
 @@ -120,9 +120,12 @@
  ## is per month)
  #AccountingStart month 3 15:00

 -## Contact info to be published in the directory, so we can contact you
 -## if your relay is misconfigured or something else goes wrong. Google
 -## indexes this, so spammers might also collect it.
 +## Administrative contact information for this relay or bridge. This line
 +## can be used to contact you if your relay or bridge is misconfigured or
 +## something else goes wrong. Note that we archive and publish all
 +## descriptors containing these lines and that Google indexes them, so
 +## spammers might also collect them. You may want to obscure the fact that
 +## it's an email address and/or generate a new address for this purpose.
  #ContactInfo Random Person 
  ## You might also include your PGP or GPG fingerprint if you have one:
  #ContactInfo 0x Random Person 
>>>
>>> Hi Nick, Karsten,
>>>
>>> You've just changed the torrc.sample.in file, which will cause everybody
>>> who uses the deb and upgrades from Tor 0.2.4.17-rc to have to manually
>>> evaluate/adjust/replace their /etc/tor/torrc file.
>>>
>>> Are you sure you want to do this?
>>>
>>> It's not the end of the world here since the torrc.sample was last
>>> updated for Tor 0.2.4.3-alpha, so people upgrading from 0.2.3.x debs
>>> will already be affected.
>>>
>>> But I wonder if it's really worth hassling every deb user who will
>>> be upgrading from 0.2.4.x?
>>>
>>> In any case we should update the
>>> ## Last updated 12 September 2012 for Tor 0.2.4.3-alpha.
>>> line at the top of the file, so we can accurately predict who will be
>>> affected by changes like this in the future.
>>
>> I'm fine either way, up to and including reverting the change for
>> 0.2.4 and keeping it in 0.2.5.
>>
>> What do you think, Karsten?
>
> Oh!  Probably not worth hassling 0.2.4 deb users.  It looks like many
> people upgraded to 0.2.4.17-rc in September.  There are about 1000 of
> 4400 relays running 0.2.4 these days [0].
>
> How about we partially a) revert the change to torrc.sample.in for 0.2.4
> (the man page change can stay, right?) and b) update the "Last updated"
> part in the 0.2.5 torrc.sample.in?
>
> Nick, please find
> https://gitweb.torproject.org/karsten/tor.git/shortlog/refs/heads/task-9854-2
> for the change in b).  I'm not entirely sure how to do the change in a)
> without messing up your backporting logic.

Merging b.

To do a, I did:
  541  cd src/tor-024
  545  git revert --no-commit 66a04a6ac334775dc396025e0c15fa49eca138a7
  549  git reset doc/tor.1.txt
  551  git checkout doc/tor.1.txt
  554  git revert --continue
  556  git push

  557  cd ../tor
  562  git log master..origin/maint-0.2.4
  565  git merge -s ours origin/maint-0.2.4
  566  git push

(The omitted commands are obsessive "git status" invocations, and screw-ups.)
___
tor-dev mailing list
tor-dev@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev


[tor-dev] Reminder: Attentive Otter IM Bundle Meeting in 1h

2013-10-09 Thread Tom Lowenthal
Hello hello,

This is your roughly 60-minute reminder that we'll be comparing
proposals for the IM browser bundle on #tor-dev in about an hour. For
your reference, and to brush up on the research that everyone
valiantly did, the analyses are:

*[Purple](https://lists.torproject.org/pipermail/tor-dev/2013-October/005544.html)
*[xmpp-client](https://lists.torproject.org/pipermail/tor-dev/2013-October/005546.html)
*[Instantbird](https://lists.torproject.org/pipermail/tor-dev/2013-October/00.html)

That's all for now.
-Tom
___
tor-dev mailing list
tor-dev@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev


Re: [tor-dev] Pluggable Transport TBB Build

2013-10-09 Thread David Fifield
On Wed, Oct 09, 2013 at 12:02:20PM -0400, Kevin P Dyer wrote:
> On Sun, Oct 6, 2013 at 3:30 PM, David Fifield  wrote:
> This is a good start and goes a long way towards automating the build
> process. However, I'm looking for "Press a button, make a sandwich,
> have all builds (for all platforms) ready when I come back."-type of
> automation. It appears that the current procedure requires booting up
> four systems (virtual or physical) manually, then manually running the
> build script in each instance.
> 
> I've had success fully-automating the build using vagrant for the
> linux builds. (Execute "vagrant up," wait a few minutes, then we have
> i386/amd64 PTTBB .tar.gz files.) I only encountered two issues [1,2].
> OSX is next. How may I share this work on
> https://gitweb.torproject.org/?

My point is that the "push a button" technique is already handled by the
Gitian build. (Even though it's more like "make 20 sandwiches.") I just
want to caution you against redoing a lot of work that has already been
done. Did you know that the Gitian build has a Vagrant configuration?
https://gitweb.torproject.org/builders/tor-browser-bundle.git/tree/HEAD:/vagrant
Many of these battles have already been fought.

Also understand my motives: in the future, I don't want the building of
PT bundles to fall post-hoc to pluggable transport authors. I want them
to be made as a side effect of the vanilla bundle builds, so that nor I
nor others not interested in making bundles will have to make them. So
while improvements to the bundle.git system are welcome, I eventually
want to get rid of it completely.

Pushing a git repo somewhere is a good way to share your changes.

> > A huge advantage of the reproducible build system is that it requires
> > neither a Windows license nor an OS X install. Everything is
> > cross-compiled from Ubuntu. From a practical perspective, I care about
> > this feature even more than reproducibility. The need to boot up an
> > actual physical Mac is one reason why PT builds have lagged behind
> > (#9391).
> 
> Cross-compilation would certainly be a nice feature to have. However,
> for testing the product of a cross-compiled build, I'll need to have a
> development environment with each of the target platforms. I'm
> unwilling to have a bunch of physical machines for testing. Hence, I'm
> eager for full virtualization, which also helps with full-automation
> of the build.
> 
> I've looked a bit more into the OSX EULA. Even though running OSX as a
> guest on Windows/Linux seems prevalent, it is against the EULA [4].
> However, the EULA, since 10.7, states (c.f., sec. 2.B.iii) that you
> can spin up virtual instances on Mac hardware. So, I guess it will be
> up to each of us to figure out our ideal configuration, but the only
> legal way to do full virtualization requires Mac hardware. Lame.

Virtualizing OS X is problematic. There are many OS X testers, however,
on the tor-qa list, to which new bundles are announced before they are
published.

David Fifield
___
tor-dev mailing list
tor-dev@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev


Re: [tor-dev] Reminder: Attentive Otter IM Bundle Meeting in 1h

2013-10-09 Thread Jurre van Bergen
On 10/09/2013 06:04 PM, Tom Lowenthal wrote:
> Hello hello,
>
> This is your roughly 60-minute reminder that we'll be comparing
> proposals for the IM browser bundle on #tor-dev in about an hour. For
> your reference, and to brush up on the research that everyone
> valiantly did, the analyses are:
>
> *[Purple](https://lists.torproject.org/pipermail/tor-dev/2013-October/005544.html)
> *[xmpp-client](https://lists.torproject.org/pipermail/tor-dev/2013-October/005546.html)
> *[Instantbird](https://lists.torproject.org/pipermail/tor-dev/2013-October/00.html)
>
> That's all for now.
> -Tom
It's rescheduled and happening in one hour.

Jurre

-- 
Developer at https://www.useotrproject.org/

___
tor-dev mailing list
tor-dev@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev


Re: [tor-dev] Hidden Service Scaling

2013-10-09 Thread Matthew Finkel
On Wed, Oct 09, 2013 at 09:58:07AM +0100, Christopher Baines wrote:
> On 09/10/13 01:16, Matthew Finkel wrote:

> >> Then comes the second problem, following the above, the introduction
> >> point would then disconnect from any other connected OP using the same
> >> public key (unsure why as a reason is not given in the rend-spec). This
> >> would need to change such that an introduction point can talk to more
> >> than one instance of the hidden service.
> >>
> > 
> > It's important to think about the current design based on the assumption
> > that a hidden service is a single node. Any modifications to this
> > assumption will change the behavior of the various components.
> 
> The only interactions I currently believe can be affected are the Hidden
> Service instance <-> Introduction point(s) and Hidden Service instance
> <-> directory server. I need to go and read more about the latter, as I
> don't have all the information yet.
 
Also, to be fair, one of the devs has already started working on
upgrading various components of hidden services [3][4]. You may also
want to read through these so you have an idea of what are some future
plans.

Also, keep in mind that that the current design may not work well for
this (scaling) use case. Perhaps also thinking about modifications to the
current design that are backwards compatible will help.

> >> These two changes combined should help with the two goals. Reliability
> >> is improved by having multiple OP's providing the service, and having
> >> all of these accessible from the introduction points. Scalability is
> >> also improved, as you are not limited to one OP (as described above,
> >> currently you can also have +1 but only one will receive most of the
> >> traffic, and fail over is slow).
> >  
> > Do you see any disadvantages to this design?
> 
> So, care needs to be taken around the interaction between the hidden
> service instances, and the introduction points. If each instance just
> makes one circuit, then this reveals the number of instances.

Does it?

> There is also uncertainty around the replacement of failing introduction
> points. New ones have to be chosen, but as the service instances do not
> directly communicate, there could be some interesting behaviour unless
> this is done carefully.

Is there a reason they shouldn't communicate with each other?

> I am also unsure how the lack of direct communication between the hidden
> service instances could affect the usability of this. I think what would
> be good to do is take some large, open source, distributed web
> applications and look at how/how not to set them up using various
> possible implementations of distributed hidden services.
>
> >> I am aware that there are several undefined parts of the above
> >> description, e.g. how does a introduction point choose what circuit to
> >> use? but at the moment I am more interested in the wider picture. It
> >> would be good to get some feedback on this.
> >>
> >> 1: https://blog.torproject.org/blog/hidden-services-need-some-love
> >> 2:
> >> http://tor.stackexchange.com/questions/13/can-a-hidden-service-be-hosted-by-multiple-instances-of-tor/24#24
> > 
> > This is a good start! Some important criteria you might also think
> > about include how much you trust each component/node and which nodes do
> > you want to be responsible for deciding where connections are routed.
> > Also seriously think about how something like a botnet that uses hidden
> > services might impact the reliability of your design (crazy idea, I
> > know).
> 
> I assume the characteristics of this are: 1 or more hidden service
> instances, connected to by very large numbers of clients, sending and
> reviving small amounts of information?

Perhaps, but just think about the load an intro point can handle and
sustain. If Introduction Points are where load balacing takes place,
then does this affect the difficulty of attacking a hidden service? (for
some undefined definition of 'attack'.)

[3]
https://lists.torproject.org/pipermail/tor-dev/2013-October/005534.html
[4]
https://lists.torproject.org/pipermail/tor-dev/2013-October/005536.html
___
tor-dev mailing list
tor-dev@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev


Re: [tor-dev] Reminder: Attentive Otter IM Bundle Meeting in 1h

2013-10-09 Thread Andrew F
How about a specific time? with the time zone indicated.
thanks.



On Wed, Oct 9, 2013 at 10:11 AM, Jurre van Bergen
wrote:

> On 10/09/2013 06:04 PM, Tom Lowenthal wrote:
> > Hello hello,
> >
> > This is your roughly 60-minute reminder that we'll be comparing
> > proposals for the IM browser bundle on #tor-dev in about an hour. For
> > your reference, and to brush up on the research that everyone
> > valiantly did, the analyses are:
> >
> > *[Purple](
> https://lists.torproject.org/pipermail/tor-dev/2013-October/005544.html)
> > *[xmpp-client](
> https://lists.torproject.org/pipermail/tor-dev/2013-October/005546.html)
> > *[Instantbird](
> https://lists.torproject.org/pipermail/tor-dev/2013-October/00.html)
> >
> > That's all for now.
> > -Tom
> It's rescheduled and happening in one hour.
>
> Jurre
>
> --
> Developer at https://www.useotrproject.org/
>
> ___
> tor-dev mailing list
> tor-dev@lists.torproject.org
> https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev
>
___
tor-dev mailing list
tor-dev@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev


Re: [tor-dev] Reminder: Attentive Otter IM Bundle Meeting in 1h

2013-10-09 Thread Justin Bull
On 2013-10-09 2:05 PM, Andrew F wrote:
> How about a specific time? with the time zone indicated.
> thanks.
>

It's starting right now in #tor-dev. That's 18:00 UTC

-- 
Best Regards,
Justin Bull
E09D 38DE 8FB7 5745 2044 A0F4 1A2B DEAA 68FD B34C



signature.asc
Description: OpenPGP digital signature
___
tor-dev mailing list
tor-dev@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev


Re: [tor-dev] Pluggable Transport TBB Build

2013-10-09 Thread Kevin P Dyer
On Wed, Oct 9, 2013 at 12:22 PM, David Fifield  wrote:
> On Wed, Oct 09, 2013 at 12:02:20PM -0400, Kevin P Dyer wrote:
>> On Sun, Oct 6, 2013 at 3:30 PM, David Fifield  wrote:
>> This is a good start and goes a long way towards automating the build
>> process. However, I'm looking for "Press a button, make a sandwich,
>> have all builds (for all platforms) ready when I come back."-type of
>> automation. It appears that the current procedure requires booting up
>> four systems (virtual or physical) manually, then manually running the
>> build script in each instance.
>>
>> I've had success fully-automating the build using vagrant for the
>> linux builds. (Execute "vagrant up," wait a few minutes, then we have
>> i386/amd64 PTTBB .tar.gz files.) I only encountered two issues [1,2].
>> OSX is next. How may I share this work on
>> https://gitweb.torproject.org/?
>
> My point is that the "push a button" technique is already handled by the
> Gitian build. (Even though it's more like "make 20 sandwiches.") I just
> want to caution you against redoing a lot of work that has already been
> done. Did you know that the Gitian build has a Vagrant configuration?
> https://gitweb.torproject.org/builders/tor-browser-bundle.git/tree/HEAD:/vagrant
> Many of these battles have already been fought.
>
> Also understand my motives: in the future, I don't want the building of
> PT bundles to fall post-hoc to pluggable transport authors. I want them
> to be made as a side effect of the vanilla bundle builds, so that nor I
> nor others not interested in making bundles will have to make them. So
> while improvements to the bundle.git system are welcome, I eventually
> want to get rid of it completely.

I conflated two issues: challenges in setting up my personal
development environment and challenges in the formal Tor build
process. I'm personally motivated to get fully-automated PTTBB builds
working to make my development life easier. I'll make less mistakes if
I can make a change, then easily test those changes across multiple
platforms.

-Kevin
___
tor-dev mailing list
tor-dev@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev


[tor-dev] Attentive Otter IM bundle update

2013-10-09 Thread Tom Lowenthal
We had a meeting as scheduled at 1100h Pacific. We broadly agreed that:
* we don't want to use Pidgin/libpurple
* we have a mild preference for Instantbird.

We have some open questions about Instantbird:
1. What sort of attack surface does Instantbird present, compared to
-- say -- a browser.
2. What's the timeline for Instantbird implementing OTR, and how are
they going about it.

Our current plan is to go for a more thorough investigation of
Instantbird, and work out what we'd need to do to take Instantbird and
produce Tor Messenger, and what roadblocks stand in our way. We were
unable to find a lead for this project during the meeting. Afterwards,
Arlo volunteered to put together such a plan, and possibly even
execute it.

Arlo has committed to putting that plan together by the end of the
weekend. If we allow Monday morning to read and digest Arlo's work, we
should reconvene some time on Monday afternoon, Tuesday, or Wednesday
next week. [Let me know when you're free.][1]

I've decided to send out updates to both tor-dev and tor-assistants,
as well as to the individual addresses of folks who are interested.
I'm committed to using the string "Otter" and "Attentive" in the
subject line. If you want to get those emails, please [edit the wiki
page][2] to add that info. I've only put my info there for now, so
please edit it if you want to get personal attention in future emails.

What you should do now:
1. Please [tell me about your availability][1] to meet next week.
2. Please add your name, preferred email, and IRC nick to the
appropriate section of the [Attentive Otter wiki page][2].


[1]: http://doodle.com/g7xq4e2x8pgf7vda
[2]: https://trac.torproject.org/projects/tor/wiki/org/sponsors/Otter/Attentive


On 9 October 2013 09:04, Tom Lowenthal  wrote:
> Hello hello,
>
> This is your roughly 60-minute reminder that we'll be comparing
> proposals for the IM browser bundle on #tor-dev in about an hour. For
> your reference, and to brush up on the research that everyone
> valiantly did, the analyses are:
>
> *[Purple](https://lists.torproject.org/pipermail/tor-dev/2013-October/005544.html)
> *[xmpp-client](https://lists.torproject.org/pipermail/tor-dev/2013-October/005546.html)
> *[Instantbird](https://lists.torproject.org/pipermail/tor-dev/2013-October/00.html)
>
> That's all for now.
> -Tom
___
tor-dev mailing list
tor-dev@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev


Re: [tor-dev] Attentive Otter: Analysis of Instantbird/Thunderbird

2013-10-09 Thread Griffin Boyce

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

  So the lack of OTR support in Instantbird is nearly a dealbreaker for
me, as it makes it a bit more likely than a rogue exit could intercept a
user's communications. Though this depends in part on SSL/TLS support
and whether a user *actually enables* it in their settings.

  Would the plan be to create and test a reliable OTR patch for Instantbird?

  Pidgin's big issue before was DNS leaks. How is this addressed by
Instantbird? (okay, there are a few big issues with Pidgin but...)

  I like Instantbird's UI, but we should come up with a plan to set
proper defaults.

~Griffin


Mike Perry & Sukhbir Singh wrote:
>   - No OTR support yet
> + OTR support tickets:
>   https://bugzilla.instantbird.org/show_bug.cgi?id=877
>   https://bugzilla.mozilla.org/show_bug.cgi?id=779052
> + For a stopgap/prototype: We can use the js-ctypes wrapper of libotr
>   along with the message observer API
>   + Example observer API use w/ rot13:
> http://hg.instantbird.org/addons/file/tip/rot13
>   + JS-Ctypes wrapper for native libotr:
>
http://gitorious.org/fireotr/fireotr/blobs/master/chrome/content/otr_wrapper.js
> + The ctypes wrapper can be converted to an XPCOM wrapper later.
> + According to sshagarwal #maildev on irc.mozilla.org, Mozilla is
>   also working towards implementing all of the primitives needed
for OTR (and OTR
>   itself) in NSS. These are listed in this comment:
>   https://bugzilla.mozilla.org/show_bug.cgi?id=779052#c17
>   + We could also rely on the ctypes wrapper until native support is
> available, and possibly skip an XPCOM libotr wrapper entirely.


- -- 
"Cypherpunks write code not flame wars." --Jurre van Bergen
#Foucault / PGP: 0xAE792C97 / OTR: sa...@jabber.ccc.de

My posts are my own, not my employer's.
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (GNU/Linux)

iQIcBAEBAgAGBQJSVcVCAAoJEOMx/SmueSyX/T4QALZ3WzbxxNtOj/FbDciYb3t5
B793kSDIrezwZ/lhYtfgAxP9TKGZ2K5yCBf5CtAPWoBSp4vXmscdfkI+1jE2aU6E
rBCTgjDpw+r27hrmU6rm78awhzrg6jpTrBpiMFuEKmCT0ZREdt/1xj9cJCLYjUId
50fmz7uv6/8MeLvy+yUJTYMbxwLfTbLRMWY7OzipJTozuot3+13I6qh4zh9N5qnq
qahxu2cpE+oe8MuWSHdGv14pHziKs+r9ebIh4WKcrP4dRq4hixagSRbS078XN9fR
BEV+JFsHrtLXLjvfaxxBZor4lhoK3Zt1GmgPFOB+LiMZh5X9LdsVlLSha04+084z
JmMkYVruPYAJo0uaxOQU0pTTKJmzSwxzB3xebw+oGBzrLP5rdO85oOOv6ND+mOFv
EymTo6exsbQiFg7bmFuT2pF9npJsqpKuNEM+Pinrxx1JZrzPTBBD0wDMZs6jh7Z3
vE7cyFYI5qIfv5uAyDQyF1UENX8L7HIQIf9N4TmagksdEsM/wAn9w8ZswSsUwUHO
xOzaJwC/4NnUQODlI/YYzI+9E6vaXJ2RxWtiCeCGHSbDkXiAdUTPps6se4I/jdGW
t2G6DPFM+k9BZDA8Wz+ulH10rlaYOPuhTmBHvuf+cXZpZRyLpse4bTqCcSOAfL8p
PZbvZukOi83RQ4ThJv0C
=5/Gh
-END PGP SIGNATURE-

___
tor-dev mailing list
tor-dev@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev


[tor-dev] [30-minute reminder] Cute Otters hidden services and publishing meeting at 1500h Pacific in #tor-dev

2013-10-09 Thread Tom Lowenthal
See you soon.
___
tor-dev mailing list
tor-dev@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev


[tor-dev] [ACTION REQUESTED] Attentive Otter IM bundle: meeting scheduling; team signup [due Friday]

2013-10-09 Thread Tom Lowenthal
Please read your other mail or the [wiki][2] for a status update. In
addition, I would like you to do the following two things:

1. [Tell me about your availability][1] to meet next week.
2. Add your name, preferred email, and IRC nick to the appropriate
section of the [Attentive Otter wiki page][2].

For maximum effectiveness, you should before about 1530h Friday, since
that's when I'll send out the meeting invite. If you haven't filled
the Doodle out, I won't account for your availability. If you haven't
added your details, you'll need to read `tor-dev` or `tor-assistants`
to find out when the meeting is.


[1]: http://doodle.com/g7xq4e2x8pgf7vda
[2]: https://trac.torproject.org/projects/tor/wiki/org/sponsors/Otter/Attentive
___
tor-dev mailing list
tor-dev@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev


[tor-dev] Design for an exit relay scanner: feedback appreciated

2013-10-09 Thread Philipp Winter
I am working on a Python-based exit relay scanner which should detect malicious
and misbehaving exits.  The design should have a reasonable balance between
being fast/parallel and stressing the network as little as possible.

I came up with the following three steps:

1.  Spawn a "parent" Tor process to get an up-to-date consensus.

2.1 For every selected exit relay, spawn a lightweight Tor process.

2.2 The consensus is copied from the "parent" process to the lightweight
process' data directory.  That way, the consensus has to be downloaded only
once.

2.3 Every lightweight Tor process has the following configuration:

---
SOCKSPort auto
ControlPort 0
__DisablePredictedCircuits 1
UseEntryGuards 0
FetchServerDescriptors 0
DataDirectory 
ExitNodes 
---

Entry guards are not used to distribute the load.  Predicted circuits are
disabled to prevent expensive creation of circuits which would not be used
anyway.  In addition, I am considering adding "EntryNodes" or "Bridge" to
concentrate the first hop's load on machines under my control.

3.  torsocks is then used to establish decoy connections over the respective
exit relay.  After that, the process is terminated.

Any thoughts on how to further improve the design or ideas for a better one?

Cheers,
Philipp
___
tor-dev mailing list
tor-dev@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev


[tor-dev] [ACTION REQUESTED] Cute Otters hidden services publishing meeting request &c. [due Friday Morning]

2013-10-09 Thread Tom Lowenthal
Hello cute pals. We didn't have a meeting today due to scheduling. If
you think you want to work on making point-click-publish hidden
services a reality, and hidden services better in general, then this
is what you should do:

1. [Note down when you're free next week.][1]
2. Add your name, IRC nick and email to the [Cute wiki page][2].
3. Read [Sina's proposal][3].

I'm planning to read [this Doodle][1] and send out updates on Friday
morning (Pacific). If you haven't filled it out by then, I won't be
able to account for your preferences. Please fill out the doodle only
if you think that I need to consider your availability before
scheduling the meeting. If you just want to spectate, no RSVP is
needed, you can just lurk in #tor-dev. Please make sure that you only
fill out times that you can actually make it.

Future emails about Cute Otters will be sent `to` the email addresses
listed on the [Cute wiki page][2], `cc`'ing `tor-dev` and
`tor-assistants`. If you want to get messages "to" you, you should add
yourself to the team listing on the [Cute wiki page][2].

Sina has produced an [outline of the publishing system][3] we're
planning to build. You should read it, help him improve it, and come
to the meeting next week prepared.

That's all for now,
-Tom


[1]: http://doodle.com/wqr9phdck23mac7u
[2]: https://trac.torproject.org/projects/tor/wiki/org/sponsors/Otter/Cute
[3]: https://lists.torproject.org/pipermail/tor-dev/2013-October/005558.html
___
tor-dev mailing list
tor-dev@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev


[tor-dev] Pushed HS proposals on git

2013-10-09 Thread George Kadianakis
Hey Nick,

I pushed the recent HS proposals to my torspec git repo.

You can find them on branch 'hs_experimentation' at
https://git.torproject.org/user/asn/torspec.git .

My next step would be to write the anti-enumeration crypto part of
xxx-hs-id-keys-and-onion-leaking.txt (as I started doing with
c8b7e40).

Feel free to work on them. Maybe send me an IRC message before you
start touching them so that we don't do change the same areas of the
spec.

___
tor-dev mailing list
tor-dev@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev