How To CryptoParty
cryptoparty.informatick.net
cryptoparty.informatick.net
There have been 100's of them in >50 cities. It took off when the Australian Government notified the public that they intended to increase the powers of the intelligence agencies.
It's not so much teaching cryptography as it would be in a university or hacker to hacker as it is teaching people all of the pitfalls and what's hidden from the UI and what's really going on when you say, use Tor.
There is a very literal UI bug that is also a security problem in the Tor Browser Bundle. If you resize the Firefox window, you increase your browsers uniqueness & thus make you easier to identify. Try this by switching off a toolbar and noticing the difference at panopticlick.eff.org
Getting a piece of software like Pidgin to work through Tor was a challenge for many. The concepts of 'localhost' and sockets and a TCP-stream was challenging to get across. I don't really know the answer to this problem. These are hard issues to solve with software and the best we've got so far, I think, is education. If I had to imagine a piece of software: something like a packet filter that could go into 'incognito mode' set-up a transparent proxy and automatically flag packets that could reduce one's anonymity or reveal one's identity, then recommend steps to take in the relevant applications to get around that. It's not a completely thought through idea but maybe someone will come along and read this and it would spark the solution in their mind.
There are more bugs than people, check out trac.torproject.org and see what you can do. The #tor irc channel on irc.oftc.net & tor-talk@lists.torproject.org are good places to ask questions.
But is this where the technorati has failed to fill their real social obligation? Are we the new Russian intellectuals who failed to engage the people? Are we so self-absorbed in navel-gazing on Hacker News that we fail to actually execute on the one idea that matters? If we can't restore the security of communications, how will history judge us?
I don't have a solution for the problems that would plague a good crypto/identity system. Centralized trusted parties? That's worked just OK for websites and it entails a cost, and the paranoia that comes with it. A open solution like Persona? Maybe, but I don't know how to integrate that across browsers and devices without trust concerns.
No, I don’t know. But I do know that PGP is a lot of trouble.
That said, I do think Facebook could go a long way to establishing a trust infrastructure.
Private keys could be stored on facebook's servers but encrypted with a key that is not sent to facebook (so all client side). The signing interface could be built into the facebook UI (like a verify button).
So hopefully the FB API could expose public keys for use by other apps.
Not perfect, but the advantage is that people already have FB accounts linked to their real IDs.
But I would still need to verify the trust in person. Otherwise, Facebook could be the MITM.
Which is, of course, the problem with the web of trust concept being exposed to the world at large. Too many people would simply establish trust for the expediency. I can see someone in my high school class signing my key and thus expecting me to do the same, without any understanding of the point of the whole business. If Facebook has shown us anything, it's that interpersonal concepts (like "friend") can be easily eroded.
Once the trust was established though, especially with OTR it would be more difficult for them to later start abusing it. But it's still an improvement on FB having everything on their server under their complete control, if they starting messing with keys people would notice.
There could be a problem with people just signing any old key, but really you just need to verify that the person is who they say they are. I think that works 90% of the time on FB as it is, it's unlikely you'd get away with being an imposter.
Lots of people trusted Hushmail "to a degree" and we saw how that turned out...
The nice thing is that it has opportunistic encryption enabled by default. Thus, it will always try to encrypt an outgoing e-mail and throw up a warning if the recipient's public key isn't available, for example. The error is, surprisingly, understandable to the average person (something like "A public key for <recipient> is not available and this message cannot be sent encrypted. Would you like to send it unencrypted?")
1. Social relations depend on communication flows (i.e. Marx was wrong the superstructure is informational). 2. Software allows new communication flows. 3. Communication, like water, finds its own level.
Rearrange social relations by altering communications flows. Rearrange communication flows by creating a flow that is easier than the Status Quo. The Babylonians did this with cuneiform, the Romans did this with roads, Radio did this, TV did this, the Internet did this. Software allows you to create new communication flows.
The question is what social problems can be solved by reordering social relations and to what extend these particular social relations depend on communication flows.
So I would say that you can reflow communication all you want, but that the underlying problem here is trust and knowledge and those are social problems. People either need to appreciate what these new communication flows mean and/or establish ways to bring their communications under their control (i.e. crypto).
That said, I think the idea of establishing trust through key signing parties (and "crypto" parties) is an interesting one. One of the key features of this is learning from someone you likely don't know, just as when you do a key signing party everyone requires some sort of government ID. In the end, you've got to put your trust in someone, right? So, back to the social problem.
I would argue that provable-identity is probably solvable in software, but that identity and utility are deeply connected notions. For instance Alice wants to talk to Bob to satisfy some want or need. His identity is only important to the extent that it is a necessary part of the utility of the communication.
Generally two nodes in a network can prove that they have access to a particular set of keys, but the system tends to fall down on proving that they are useful to each other. A MITM attack is merely one party pretending to be as useful to the communicator as the intended recipient. If you disagree consider that your packets don't go directly to your bank, but are "rebroadcast" by routers and switches along the route.
But how do you know that Bob exists and you want to talk to him? At some point you met someone named Bob and at some point you decided you wanted to communicate with him, but Bob as an identity really only exists in your head. He could be named Jim, he could be someone that is pretending to be Bob, Bob might be one of two twins both named Bob. Maybe Bob is working for your enemies.
One way to simplify the thorny issue of identity is to look at what someone wants out of the communication. The part of the identity Bob that matters to a communication is the expected utility of the communication. The identity is merely an end to that utility. For instance when you call tech support, you are trying to solve a problem and it doesn't really matter if the person tells you their name is Jim rather than James.
The only hard and fast identity is cryptographic identity, it can be compromised if someone shares their secret key, but at least you know that you are communicating with someone that has access to that secret key. That is, I can send to a message to all parties with access to the secret key, SK0. The next question is how do I know that parties which have access to SK0 will increase my utility via communication. That can only be built from past actions either directly or indirectly performed by that party.
Utility of identity depends on reputation of identity. Reputation of identity depends on past actions of identity (think stackoverflow/hackernews/silkroad).
All of which can be cryptographically proved if the identity consists merely of access to SK0. Note, this is how identity and trust works outside of computers.
The reputation system tied to that identity could also be compromised, the difference is I'm much less likely to find out until it's too late and the potential harm to me is very high (lets say the government is operating a Silk Road honeypot). That brings us back around to the problem of identity. If I know and trust Bob then his utility is higher.
Which is the point of the "web of trust", it (sort of) builds that utility system in. I personally know Bob and know he's pretty sharp. He knows Jim and has signed Jim's key, but I don't know Jim and I'm taking Bob's word for his identity. Jim knows someone as well and has signed their key, but now we're getting pretty far removed from Bob. Their utility (in this case their utility at confirming identities) is getting smaller for me. I'm less inclined to trust them.
But Bob, Bob's an old friend.
So I see where you're going, but I still think "identity" is the critical factor.
Agreed. So how do we live in such a world and make decisions?
Do you trust Bobs ability to protect his key? Can you buy insurance against this given Bobs reputation? Are the premiums worth the cost?
> What is there in this that is unbearable and beyond endurance?
http://www.theatlantic.com/entertainment/archive/2013/05/mar...