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