4 ms·
It is naive, and it's poorly articulated, unfortunately nearly broaching the 'tin-foil hat FUD, disregard everything he says, that nutter' territory (see: his "
by iheartmemcache 11y ago
It is naive, and it's poorly articulated, unfortunately nearly broaching the 'tin-foil hat FUD, disregard everything he says, that nutter' territory (see: his "cloud" analogy). I like to think of Stallman as Chomsky -- a little out there, really attached to their ideologies, but usually they bring up a conversation that's worth having.
The second I heard this, I as did you thought about the problem of hosting your data at a DC; likewise, I too saw the 'everyone hosting their own server' problem[2]. It's no coincidence that there are at least 3 of us (StravosK and the #letsauth HN crew, you, I) working on this. Many more[3] in fact that we might be reaching the "too many NoSQL solutions out there" problem.
I agree with you I haven't had time to go over your work but consensus algos for removal of data is an impossibility (the second someone has access to the decrypted data is the second it's fully compromised at the read level[1], and only later can one mark the data as unreliable. Consensus to determine what's unreliable is possible, though fraught with peril. There be dragons.) Secondly - and I say this as someone who's working on software similar to what you are writing - in order for crypto to be adopted there needs to be a lot of things. Primarily, there needs to be one, at worst two, solutions - or we'll suffer from complete and total 'choice overflow' (i.e. which NoSQL solution do I use? There are 50!). Secondarily, crypto should ideally be written around known algos, and more importantly, known algo implementations (e.g. libsodium) which are based around concepts and have been heavily audited. Finally, there should be interop between the systems. I.e., keybase.io has already solved the problem of getting techies to adopt asymmetric crypto/figure out how to exchange keys/etc by tying a users FB identity to it. Not the ideal solution, but the best trade off for user adoption. Awareness is hard, but if we all band together (#letsauth + keybase.io + Automattic is a realistic possibility), I don't see it being impossible.
Bottom-line: _Ensure interop with previous implementations so we don't overwhelm the internet with choice, effectively shooting ourselves in the foot_
[1] I can write an IO device driver in a weekend that'll clone bit-for-bit anything that hits a specific directory, segment of memory alloc'd by a process, etc. Once your information is out, it's out for good.
edit: [2] On second thought, not as far-fetched as it may seem. ARPAnet was designed around maintaining network communication in case of nuclear disaster, and if you read the spec sheets that came out during that time decentralization was their solution. Everything from routing (RIP, OSPF, BGP, take your pick) to SMTP (the RFC is rife with the capacity to handle server unreliability) was designed with the intention of dealing with this. Not only that but before NAT took over, effectively every machine was effectively capable of operating as a server. It wasn't until say the mid 90s that the distinction between workstation and server became clear. Effectively, you trusted your sysadmin to not read your mbox/maildir and he acted as your technical agent. When my friends and I were dicking around with BSD and Slackware in middle school and early high school (oh what rebels), we ran our own SMTP's acting as backup MX for each other when our Pentium 2's were rebooted by our parents. This is all a long way of saying, not everyone needs to run a comm-server, just one (or two if you need a 'backup MX') per social network in order to offer their services to people within their social "web of trust".
[3] http://pythonhackers.com/p/redecentralize/alternative-internet http://pythonhackers.com/p/redecentralize/alternative-intern... - That's not even the start of it.
Edit2: Yeah, #letsauth on freenode is the defacto standard, thus far. And have an upvote, my good man, for caring enough about security to do something about it, and speak about it's subtleties on a Sunday afternoon.
- nbadg 11y agoThis is maybe a discussion we should be having elsewhere, but for lack of a dedicated thread somewhere, and because I think it's interesting, I suppose we might as well keep going on the tangent. Moving forward though, is there anywhere dedicated to talking about this kind of stuff, or should we set somewhere up? > consensus algos for removal of data is an impossibility There may be a bit of a semantic barrier here. What I mean by consensus removal is "can we, as a society, decide that it's okay to delete this piece of data?" That can be done as a zero-knowledge algorithm. The approach I've taken with it is, loosely speaking, 1. Author Alice publishes (encrypted) data, tells server "don't delete this" 2. Alice shares with Bob; Bob also tells server "don't delete this" 3. Alice tells server "now it's okay to delete" 4. Alice can see that Bob is preventing deletion 5. Alice provides social/legal/political pressure to Bob to remove his hold 6. Object gets deleted Technically it's implemented in a way very reminiscent to name binding and garbage collection in memory-managed languages. It's worth noting that no, this isn't something that's solvable strictly with in-protocol actions. The external pressure step is necessary to prevent deletion. But that's exactly my goal; we're never going to be able to solve profoundly complex social problems with algorithms.