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