tweaks to the webpage to improve look and layout slight.
[monkeysphere.git] / website / index.mdwn
1 The Monkeysphere project's goal is to extend OpenPGP's web of trust to
2 new areas of the Internet to help us securely identify each other
3 while we work online.
4
5 Specifically, monkeysphere currently offers a framework to leverage
6 the OpenPGP web of trust for OpenSSH authentication.
7
8 In other words, it allows you to use secure shell as you normally do,
9 but to identify yourself and the servers you administer or connect to
10 with your OpenPGP keys.  OpenPGP keys are tracked via GnuPG, and
11 monkeysphere manages the `known_hosts` and `authorized_keys` files
12 used by OpenSSH for authentication, checking them for cryptographic
13 validity.
14
15 ## Overview ##
16
17 Everyone who has used secure shell is familiar with the prompt given
18 the first time you log in to a new server, asking if you want to trust
19 the server's key by verifying the key fingerprint.  Unfortunately,
20 unless you have access to the server's key fingerprint through a
21 secure out-of-band channel, there is no way to verify that the
22 fingerprint you are presented with is in fact that of the server your
23 really trying to connect to.
24
25 Many users also take advantage of OpenSSH's ability to use RSA or DSA
26 keys for authenticating to a server (known as
27 "`PubkeyAuthentication`"), rather than relying on a password exchange.
28 But again, the public part of the key needs to be transmitted to the
29 server through a secure out-of-band channel (usually via a separate
30 password-based SSH connection or a (hopefully signed) e-mail to the
31 system administrator) in order for this type of authentication to
32 work.
33
34 [OpenSSH](http://openssh.com/) currently provides a functional way to
35 manage the RSA and DSA keys required for these interactions through
36 the `known_hosts` and `authorized_keys` files.  However, it lacks any
37 type of [Public Key Infrastructure
38 (PKI)](http://en.wikipedia.org/wiki/Public_Key_Infrastructure) that
39 can verify that the keys being used really are the one required or
40 expected.
41
42 The basic idea of the Monkeysphere is to create a framework that uses
43 [GnuPG](http://www.gnupg.org/)'s keyring manipulation capabilities and
44 public keyserver communication to manage the keys that OpenSSH uses
45 for connection authentication.  
46
47 The Monkeysphere therefore provides an effective PKI for OpenSSH,
48 including the possibility for key transitions, transitive
49 identifications, revocations, and expirations.  It also actively
50 invites broader participation in the
51 [OpenPGP](http://en.wikipedia.org/wiki/Openpgp) [web of
52 trust](http://en.wikipedia.org/wiki/Web_of_trust).
53
54 Under the Monkeysphere, both parties to an OpenSSH connection (client
55 and server) explicitly designate who they trust to certify the
56 identity of the other party.  These trust designations are explicitly
57 indicated with traditional GPG keyring trust models.  Monkeysphere
58 then manages the keys in the `known_hosts` and `authorized_keys`
59 files directly, in such a way that is completely transparent to SSH.
60 No modification is made to the SSH protocol on the wire (it continues
61 to use raw RSA public keys), and no modification is needed to the
62 OpenSSH software.
63
64 To emphasize: ***no modifications to SSH are required to use the
65 Monkeysphere***.  OpenSSH can be used as is; completely unpatched and
66 "out of the box".
67
68 ## Links ##
69
70 * [OpenSSH](http://openssh.com/)
71 * [GnuPG](http://www.gnupg.org/)
72 * [Secure Shell Authentication Protocol RFC 4252](http://tools.ietf.org/html/rfc4252)
73 * [OpenPGP RFC 4880](http://tools.ietf.org/html/rfc4880)
74
75 ----
76
77 This wiki is powered by [ikiwiki](http://ikiwiki.info).