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