[[meta title="The Monkeysphere Project"]]
The Monkeysphere Project
The Monkeysphere project's goal is to extend OpenPGP's web of trust to
new areas of the Internet to help us securely identify each other
while we work online.
Specifically, monkeysphere currently offers a framework to leverage
the OpenPGP web of trust for OpenSSH authentication.
In other words, it allows you to use secure shell as you normally do,
but to identify yourself and the servers you administer or connect to
with your OpenPGP keys. OpenPGP keys are tracked via GnuPG, and
monkeysphere manages the known_hosts
and authorized_keys
files
used by OpenSSH for authentication, checking them for cryptographic
validity.
Overview
Everyone who has used secure shell is familiar with the prompt given
the first time you log in to a new server, asking if you want to trust
the server's key by verifying the key fingerprint. Unfortunately,
unless you have access to the server's key fingerprint through a
secure out-of-band channel, there is no way to verify that the
fingerprint you are presented with is in fact that of the server
you're really trying to connect to.
Many users also take advantage of OpenSSH's ability to use RSA or DSA
keys for authenticating to a server (known as
"PubkeyAuthentication
"), rather than relying on a password exchange.
But again, the public part of the key needs to be transmitted to the
server through a secure out-of-band channel (usually via a separate
password-based SSH connection or a (hopefully signed) e-mail to the
system administrator) in order for this type of authentication to
work.
OpenSSH currently provides a functional way to
manage the RSA and DSA keys required for these interactions through
the known_hosts
and authorized_keys
files. However, it lacks any
type of Public Key Infrastructure
(PKI) that
can verify that the keys being used really are the one required or
expected.
The basic idea of the Monkeysphere is to create a framework that uses
GnuPG's keyring manipulation capabilities and
public keyserver communication to manage the keys that OpenSSH uses
for connection authentication.
The Monkeysphere therefore provides an effective PKI for OpenSSH,
including the possibility for key transitions, transitive
identifications, revocations, and expirations. It also actively
invites broader participation in the
OpenPGP web of
trust.
Under the Monkeysphere, both parties to an OpenSSH connection (client
and server) explicitly designate who they trust to certify the
identity of the other party. These trust designations are explicitly
indicated with traditional GPG keyring trust models. Monkeysphere
then manages the keys in the known_hosts
and authorized_keys
files
directly, in such a way that is completely transparent to ssh
. No
modification is made to the SSH protocol on the wire (it continues to
use raw RSA public keys), and no modification is needed to the OpenSSH
software.
To emphasize: no modifications to SSH are required to use the
Monkeysphere. OpenSSH can be used as is; completely unpatched and
"out of the box".
Links
This wiki is powered by ikiwiki.