13:33:39 <nickm> #startmeeting
13:33:40 <MeetBot> Meeting started Wed Dec 31 13:33:39 2014 UTC.  The chair is nickm. Information about MeetBot at http://wiki.debian.org/MeetBot.
13:33:40 <MeetBot> Useful Commands: #action #agreed #help #info #idea #link #topic.
13:33:45 <nickm> what kind of alcohol?
13:34:23 <Yawning> Stolichnaya
13:34:46 <nickm> Enjoy; remain breathing :)
13:35:08 <nickm> I've got some calvados for later in the evening, but right now it's 830 in the morning for me
13:35:22 <nickm> So, my main Tor goal today is to get a release out.
13:35:31 <nickm> One more in 2014.  Why not?
13:35:55 <teor> 0.2.6.2-alpha?
13:36:04 <nickm> yup
13:36:30 <asn> :)
13:36:30 <teor> That would explain the merge-fest a few days ago. Glad we got it all in.
13:36:45 <asn> So for the past days
13:36:56 <nickm> well, also I was on a long car ride and my spouse offered to drive so I could do code review
13:36:57 <asn> i've been helping people deploy the HS statistics code on their relays
13:37:03 <nickm> how's it going?
13:37:11 <asn> i think it's going alright
13:37:17 <asn> afaik, we have about 30 relays reporting stats.
13:37:23 <asn> and some of them are quite fast.
13:37:49 <asn> we will start doing more careful examination of the statistics in 5 days or so.
13:37:59 <teor> This is related to Gareth Owen's research?
13:38:15 <asn> no. it's the SponsorR project.
13:38:29 <asn> however, it's a bit similar to Gareth's research.
13:38:31 <teor> Ah, so just coincidental
13:38:36 <asn> yes pretty much
13:38:42 <teor> And useful to have some stats to respond though
13:38:49 <asn> we were lucky that karsten had already done some preliminary analysis
13:38:56 <asn> showing that HS traffic is a very small part of the network.
13:39:22 <nickm> (in other news, I hope I don't have to write any more blog posts like that for a little while.)
13:39:32 <asn> me too
13:39:36 <asn> nickm: thanks for doing that in any case.
13:39:36 <Yawning> nickm: real quick before I go off in search for more booze, I'm tenatively calling the new network protocol Trivial Network Encryption Protocol (tnep) since it's easy to type
13:39:48 <Yawning> if you want me to rename it, lemmie know
13:39:51 <asn> what new network protocol is this?
13:39:59 <Yawning> our plot to replace TLS
13:40:11 <Yawning> with something that doesn;t shaft us multiple times per year
13:40:15 <nickm> how about "trivial encrypting network transport" ? :)
13:40:22 <Yawning> ok
13:40:36 <Lunar^> we'll all be under a big tent
13:40:44 <Lunar^> we'll all be protected by the big tent
13:40:50 <Yawning> :D
13:40:55 <nickm> or Tor's encrypting network transport
13:41:08 <Yawning> asn: really roughly, think obfs4 meets basket
13:41:08 <nickm> or Tent Encrypts Network Traffic
13:41:31 <Lunar^> nice
13:41:59 <Yawning> :D
13:42:49 <teor> Yeah, it seems like half the security issues in tor relate to TLS
13:43:30 <Yawning> yeah, going for something simpler to implement that we can tweak easier is nice I think
13:44:43 <teor> Are there any anonymity impacts of using a custom protocol?
13:44:57 <nickm> Sort of!
13:45:00 <teor> Or is security >> obscurity
13:45:21 <teor> s/>>/much more important than/
13:45:23 <Yawning> uh, kind of, depends on how I do the protocol
13:45:27 <Yawning> also, we have pts
13:45:34 <nickm> One issue with TLS is that it is very hard to use TLS in a way that can't be distinguished from other TLS.
13:46:11 <nickm> So, if we make a new protocol that can be trivially identified as Tor, that's a bit of a problem.
13:46:27 <nickm> But right now, it's not too hard to identify Tor's use of TLS
13:46:48 <teor> Either that, or we convince lots of people to start using it
13:46:53 <nickm> yeah
13:46:55 <Yawning> ideally yes
13:47:04 <Yawning> "easy to implement" is a huge design goal
13:47:06 <nickm> That implies coming up with a protocol that admits of very solid implementations, and is not too "out there"
13:47:31 <nickm> BTW, could people have a look at the ChangeLog in master?  Usually Roger works on cleaning these up, but this time he's busy :)
13:47:59 <Yawning> teor: plus doing something that approaches the recent obfs series of protocols in terms of "hard to fingerprint" is possible for us
13:48:32 <teor> Sounds like a plan
13:48:48 <Yawning> I'll pass a draft around once I spec something out
13:48:52 <nickm> hm.  There is an active https://github.com/tent
13:49:03 <Yawning> ;_;
13:49:17 <nickm> tentp == tent protocol?
13:49:37 <teor> portent
13:49:50 <nickm> tentacle
13:50:04 <teor> tnt
13:50:10 <teor> oh, wait, company name
13:50:16 <nickm> Let's go with tentp :)
13:50:27 * dgoulet appears
13:50:34 <nickm> Yawning: ok. anything I can help with speccing? :)
13:50:42 <Yawning> I shall let you know
13:51:02 * teor resists making a Harry Potter reference
13:51:39 <nickm> dgoulet: hi hi!  How goes it?
13:51:59 <dgoulet> nickm: weekly meeting right now? :)
13:52:03 <nickm> yup
13:52:03 <asn> oh wow SSL replacement must be hard to do.
13:52:06 <nickm> very optional though
13:52:10 <nickm> asn: oh?
13:52:11 <nickm> why?
13:52:14 <asn> especially if you want it to be extensible etc.
13:52:18 <asn> dunno. there are all these little details.
13:52:22 <asn> cipher negotiation
13:52:29 <asn> finished messages
13:52:41 <nickm> One goal here is fewer little details.
13:52:47 <Yawning> asn: it's KISS
13:52:50 <teor> then don't replace - re-imagine
13:53:34 <asn> ye I also like KISS. but it will probably need to be extensible too right? so that you can in the future replace the current cipher choice with a new one, right?
13:53:37 <asn> or not?
13:53:51 <nickm> that argues for versioning at least.
13:53:59 <nickm> not necessarily crazypants levels of extensibility.
13:54:04 <asn> right
13:54:13 <Yawning> I think if the primitives we end up picking are broken, we are *really* sad for other reasons as well
13:54:42 <teor> So v2 would allow different primitives?
13:54:46 <nickm> We will probably be picking primitives such that, if they are broken, everybody else will be sad too :)
13:54:46 <Yawning> worst case would be if djb was a pod person controled by an alien brain parasite plotting to subvert our crypto or whatever
13:55:13 <Yawning> but, a large chunk of the internet would be sad in that eventuality
13:55:36 <Yawning> nickm: link asn the sheet we've been building?
13:56:15 <Yawning> teor: yeah, v2 would allow different primitives, minus the initial obfuscation (since the version field is in the ciphertext, at least how I'm speccing it out)
13:56:16 <nickm> https://docs.google.com/spreadsheets/d/1mbaWvLobNEOqfghmWyZtBpmIqrdpLC_k27d4ycOB5hg/edit?usp=sharing
13:56:24 <nickm> it's a list of requirements and non-requirements
13:56:34 <Yawning> but if our obfuscation is busted, oh well
13:56:40 <asn> ah yeah that's helpful
13:56:42 <Yawning> should have used pts
13:56:44 <Yawning> etc
13:56:54 <nickm> let me know if anybody wants to edit that or add more rows & columns
13:57:09 <Yawning> though someone that could break tentp's obfuscation can probably break the obfs series as well
13:59:13 <nickm> we won't get the spec perfect in v1. That's okay.
13:59:42 <nickm> (I wonder if it's worthwhile specifying the setup handshake and subsequent transport phases in an independent, decoupled way
13:59:43 <Yawning> but having a v1 that other people can look at is more important
13:59:45 <nickm> )
13:59:50 <Yawning> (maybe)
14:00:19 <teor> So I've been thinking about distributed bandwidth measurement
14:00:23 <nickm> How about we take a few revisions on the spec, then call it v1 of the spec, and hack together a quick implementation?
14:00:30 <Yawning> nickm: indeed
14:00:37 <nickm> teor: There's a cool paper about that which some folks have been working on, but which isn't public yet.
14:00:54 <teor> This comes from staring at both the reachability and laplace code
14:00:58 <dgoulet> nickm: in a café to read that FYI ehhe
14:01:25 <nickm> teor: Ask "ohmygodel" when he's around if he's okay with sharing a draft ?
14:01:30 <teor> nickm: cool, would love to read it and compare with my half-baked scheme
14:02:08 <nickm> It build on EigenSpeed, but simplifies a lot of its rough edges and closes some security holes.
14:02:33 * teor not-googles EigenSpeed
14:02:48 <dgoulet> teor: https://www.usenix.org/legacy/event/iptps09/tech/full_papers/snader/snader.pdf
14:03:14 <teor> dgoulet: yes, that's what not-google gave me
14:03:30 <dgoulet> teor: ah ah :)
14:03:51 <dgoulet> so quick question about dev, because you know we are in tor-dev :)
14:03:58 <nickm> yup yup
14:04:20 <dgoulet> nickm: are you still ok if I start playing with freebsd tree.h for optimization stuff?
14:04:27 <dgoulet> I know Yawning wants that in tor :P
14:04:34 <nickm> sure; want me to add it today?
14:04:36 <Yawning> tree.h is useful, yes
14:04:38 <Yawning> :P
14:05:14 <dgoulet> nickm: maybe I can just do my poc on the side and if turns out very useful, I ping you to merge it with a subject email of "URGENT: MERGE TREE.H" ?
14:05:16 <Yawning> anyway, I'm off to obtain moar booze, happy newyear everyone etc.
14:05:18 <Yawning> :P
14:05:24 <dgoulet> Yawning: happy new year!! :)
14:05:37 <teor> Happy New Year
14:06:30 <nickm> heh
14:06:47 <nickm> dgoulet: Unlikely I'll do an URGENT thing that isn't urgent; but if it's right, I'll have a look
14:07:21 <nickm> suggestion: a separate branch that only does the "add tree.h" part, and in which the first commit is just inserting a verbatim copy of the upstream tree.h
14:07:55 <nickm> suggestion 2: rename the file and these  macros in the same way that tor_queue.h renames everything with a TOR_ prefix to prevent collisions.
14:07:57 <teor> makes merges of upstream easier
14:08:01 <nickm> (plausible?)
14:08:19 <dgoulet> nickm: yeah absolutely, won't do a fat commit no worry :)
14:08:40 <nickm> ok.  If it has some tree.h stuff and some usage-of-tree.h stuff, I might just cherrypick the former. So watch out :)
14:08:42 <dgoulet> and renaming is the way I would go here and keeping comment in the header to indicate where it comes from
14:08:59 <nickm> yeah
14:11:24 <nickm> https://people.torproject.org/~nickm/volatile/tor-0.2.6.2-alpha.txt.asc  has hashes and a link to my current candidate for 0.2.6.2-alpha.  Please make sure it works for you, proofread the changelog, etc?
14:11:46 <nickm> anything more for this meeting today? It's been a loooong year. :)
14:12:06 <teor> Congrats on doing a great job.
14:12:19 <nickm> Thanks!  and welcome to the community, teor!
14:12:43 <dgoulet> indeed, big year and lots of dev, congrats!
14:12:50 <teor> Thanks.
14:12:51 <intrigeri> \o/
14:13:05 <nickm> good job everybody
14:13:11 <asn> :)
14:13:21 <nickm> (and to everybody reading this later: thanks for all your code and help too)
14:13:23 <nickm> #endmeeting