Posted by dkg on Fri 15 Jun 2007 at 11:01
I use gpg and other associated OpenPGP infrastructure a lot these days, but it's taken me a long time to get up to speed with it. The growing use of gpg across the debian project (including the introduction of OpenPGP-signed APT repositories) has helped me immensely. I have friends and colleagues who use OpenPGP systems to varying degrees (including some not at all). Some of the folks who use it rarely (or not at all) are interested in learning more. I'd like to help the system spread, as i think it's the best infrastructure we have for seeing real decentralized, end-to-end cryptographic communications.What's a good way to help people learn the ins and outs of the system? Which ideas of the architecture are crucial to understand, and which ones can be glossed over in an introductory/bootstrapping session without starting bad (insecure) habits?
I have a selfish motive for this as well, of course: i want to be able to communicate securely with more people, and i want to be able to do it with free tools. The more people who adopt this reasonable, functional, free infrastructure (even if they're not using debian, or committed to free software principles), the more powerful our free tools will be.
I'm looking for advice that's tailored to different kinds of beginners. Some of us like knowing the full details of the relevant RFCs. Others would prefer a "click this button and your messages will be secure" kind of approach. But these angles are too extreme: the former takes time and energy that legitimately busy people don't have, and the latter isn't thoughtful enough to be terribly trustworthy.
As for my own learning style, i like to experiment when i'm learning something new. OpenPGP can be a little intimidating in this regard, because making a key and certifying it as your identity is kind of a big deal: you don't want to change your identity too often, so it feels important that it be done right the first time. How can we encourage experimentation with these tools without encouraging an explosion of throwaway keypairs, cluttering public keyservers, or building a culture where people expect identities to change frequently or without review?
But gpg isn't a terribly friendly user interface, even for those of us with command line experience. It's a very powerful, very configurable tool, but it can be a little overwhelming. Not necessarily the best interface for a beginner to learn/experiment with, but probably necessary as an underpinning for many other free tools with more beginner-friendly UIs.
Deciding who to trust is a complex problem. It is not solved, and will be a problem for years to come.What can we do as supporters of free infrastructure to help others learn how to use these tools? What can we do to help people understand the tools well enough to make their own decisions about who to trust? And how can we encourage the spread of truly free infrastructure so that these decisions aren't compromised by the tools they depend on?
This article can be found online at the Debian Administration website at the following bookmarkable URL (along with associated comments):
This article is copyright 2007 dkg - please ask for permission to republish or translate.