d7892c88c1276ed87895193ff2ce63b505e97ee2
[monkeysphere.git] / website / index.mdwn
1 The Monkeysphere project's goal is to extend the web of trust model and other
2 features of OpenPGP to other areas of the Internet to help us securely identify
3 each other while we work online.
4
5 Specifically, the Monkeysphere is a framework to leverage the OpenPGP web of
6 trust for OpenSSH authentication. In other words, it allows you to use your
7 OpenPGP keys when using secure shell to both identify yourself and the servers
8 you administer or connect to.  OpenPGP keys are tracked via GnuPG, and added to
9 the authorized\_keys and known\_hosts files used by OpenSSH for connection
10 authentication.
11
12 [[bugs]] | [[download]] | [[news]] | [[documentation|doc]]
13
14 ## Conceptual overview ##
15
16 Everyone who has used secure shell is familiar with the prompt given the first
17 time you login, asking if you want to trust the server's fingerprint.  In
18 addition, many of us take advantage of OpenSSH's ability to use RSA or DSA keys
19 for authenticating to a server, rather than relying on a password exchange.
20
21 [OpenSSH](http://openssh.com/) already provides a functional way for managing
22 the RSA and DSA keys required for these interactions. However, it lacks any
23 type of [Public Key Infrastructure
24 (PKI)](http://en.wikipedia.org/wiki/Public_Key_Infrastructure).
25
26 The basic idea of the Monkeysphere is to create a framework that uses
27 [GnuPG](http://www.gnupg.org/)'s keyring manipulation capabilities and public
28 keyservers to generate files that OpenSSH will accept and handle as intended.
29
30 This offers users of OpenSSH an effective PKI, including the possibility for
31 key transitions, transitive identifications, revocations, and expirations.  It
32 also actively invites broader participation in the
33 [OpenPGP](http://en.wikipedia.org/wiki/Openpgp) [web of
34 trust](http://en.wikipedia.org/wiki/Web_of_trust).
35
36 Under the Monkeysphere, both parties to an OpenSSH connection (client and
37 server) have a responsibility to explicitly designate who they trust to certify
38 the identity of the other party. This trust designation is explicitly indicated
39 with traditional GPG keyring trust model. No modification is made to the SSH
40 protocol on the wire (it continues to use raw RSA public keys), and it should
41 work with unpatched OpenSSH software.
42
43 Monkeysphere does not modify ssh in any way, and ssh can be used "out
44 of the box".  Monkeysphere is a set of tools that manages keys in the
45 known\_hosts and authorized\_keys files that ssh uses for connection
46 authentication.
47
48 ## Philosophy ##
49
50 Humans (and
51 [monkeys](http://www.scottmccloud.com/comics/mi/mi-17/mi-17.html))
52 have innate capacity to keep track of the identity of a finite number
53 of people. After our social sphere exceeds several dozen or several
54 hundred (depending on the individual), our ability to remember and
55 distinguish people begins to break down. In other words, at a certain
56 point, we can't know for sure that the person we ran into in the
57 produce aisle really is the same person who we met at the party last
58 week.
59
60 For most of us, this limitation has not posed much of a problem in our
61 daily, off-line lives.  With the Internet, however, we have an ability
62 to interact with vastly larger numbers of people than we had
63 before. In addition, on the Internet we lose many of our tricks for
64 remembering and identifying people (physical characteristics, sound of
65 the voice, etc.).
66
67 Fortunately, with online communications we have easy access to tools
68 that can help us navigate these problems.
69 [OpenPGP](http://en.wikipedia.org/wiki/Openpgp) (a cryptographic
70 protocol commonly used for sending signed and encrypted email
71 messages) is one such tool. In its simplest form, it allows us to
72 sign our communication in such a way that the recipient can verify the
73 sender.
74
75 OpenPGP goes beyond this simple use to implement a feature known as
76 the [web of trust](http://en.wikipedia.org/wiki/Web_of_trust). The web
77 of trust allows people who have never met in person to communicate
78 with a reasonable degree of certainty that they are who they say they
79 are. It works like this: Person A trusts Person B. Person B verifies
80 Person C's identity.  Then, Person A can verify Person C's identity.
81
82 The Monkeyshpere's broader goals are to extend the use of OpenPGP from
83 email communications to other activities, such as:
84
85  * conclusively identifying the remote server in a remote login session
86  * granting access to servers to people we've never directly met
87
88 ## Links ##
89
90 * [OpenSSH](http://openssh.com/)
91 * [GnuPG](http://www.gnupg.org/)
92 * [OpenPGP RFC 4880](http://tools.ietf.org/html/rfc4880)
93 * [URI scheme for SSH, RFC draft](http://tools.ietf.org/wg/secsh/draft-ietf-secsh-scp-sftp-ssh-uri/)
94
95
96 ----
97
98 This wiki is powered by [ikiwiki](http://ikiwiki.info).
99