-# Signing a server OpenPGP key #
+# Signing a host's SSH key using OpenPGP #
-This page is meant to address the issue of signing server OpenPGP
-keys. Servers are not people, so the circumstances under which one
-should sign a server key are different from those under which one
+This page is meant to address the issue of signing OpenPGP-based SSH
+host keys. Machines are not people, so the circumstances under which
+one should sign a host key are different from those under which one
should sign another person's key.
-# Why are signatures on the server key important? #
+# Why are signatures on an SSH host key important? #
-In order for users to connect to a server in a monkeysphere-enabled
-network, the server key must have *full* calculated validity from the
-perspective of the connecting user. If the user has not themselves
-signed the server's key, then the server's key can only be valid if
-other people that the user trusts have signed the key.
+In order for users to validate a host (an SSH server) in a
+monkeysphere-enabled network, the host key must have *full* calculated
+validity from the perspective of the connecting user. If the user has
+not themselves signed the server's key, then the server's key can only
+be valid if other people that the user trusts have signed the key.
If only one person has signed the server's key, then the user must
-fully trust the single person who has signed the server key. Full
-trust should be granted sparingly and with consideration, though, so
-unless the user knows the server admin very well, they will in general
-not have full trust of this person.
+fully trust the single person who has signed the host key. Full trust
+should be granted sparingly and with consideration, though, so unless
+the user knows the server admin very well, they will in general not
+have full trust of this person.
-However, full trust of the server key can also be achieved if the
+However, full trust of the host key can also be achieved if the
server key has been signed by three or more people that the user has
*marginal* trust of. In other words, three or more *marginally*
trusted signatures equals one *fully* trusted signature. It is much
of Trust. For this reason, it is advisable to have as many people
sign the server key as possible.
-## What information should you have before signing a server key? ##
+## What information should you have before signing a host key? ##
Before signing the key of a person, you want to do two things:
2. verify that the server is actually in control of the key that you
are signing.
-However, with a server, verifying these things is a little trickier.
+However, verifying these things for a server is less intuitive than it
+is for a human.
-Verifying that the server is in control of the key is, in principle,
+Verifying that the host is in control of the key is, in principle,
straightforward. If you are logged on to the machine in question,
then you can check directly that the key exists on the system.
this identity amounts to being sure that the host in question really
is located at that FQDN.
-
-## Signing the server key ##
+## Signing the host key ##
If you are the person (or persons) that actually setup the server and
-configured Monkeysphere and ssh on the server, then clearly you should
-definitely sign the server key right away. When the server is first
-setup, the persons who set it up are the only ones who can actually
-vouch for the server key, so their signatures are necessary to get
-things going. Their signatures are also necessary so that they can
-verify the host key themselves and log into the server via
+configured Monkeysphere and ssh on the server, then you should sign
+the host key as part of that process. When the server is first set
+up, the administrators who set it up are the only ones who can
+actually vouch for the server key, so their signatures are necessary
+to get things going. Their signatures are also necessary so that they
+can validate the host key themselves and log into the server via
monkeysphere-enabled ssh in the future.
If you did not set up the server initially, you do not have an
confidently verify the server identity and key ownership. You would
like to be able to walk up to the server, log in at the console, and
get the fingerprint of the ssh host key directly. But this is usually
-untenable.
+impossible.
However, it is still possible to verify the server identity *and*
server ownership of the key, even in this case.
-
-## Remotely verifying server identify and key possession ##
+## Remotely verifying host identity and key possession ##
It is in fact possible to verify the identity and key ownership of a
server in one fell swoop with monkeysphere-enabled ssh. Here is the
I have attempted to connect to the host zimmermann.mayfirst.org.
zimmermann's host key has only *marginal* validity for the FQDN user
ID in question, so I am not able to connect. However, the
-monkeysphere has checked that the ssh host key actually does match the
+Monkeysphere has checked that the ssh host key actually does match the
OpenPGP key with the correct user ID `ssh://zimmermann.mayfirst.org`.
I have therefore verified the identity of zimmermann, and verified
that zimmermann is in possession of the key in question.