f5a23718c933d0138923eb32c785f7e7feb34282
[monkeysphere.git] / man / man7 / monkeysphere.7
1 .TH MONKEYSPHERE "7" "March 2009" "monkeysphere" "System Frameworks"
2
3 .SH NAME
4
5 monkeysphere - ssh authentication framework using OpenPGP Web of
6 Trust
7
8 .SH DESCRIPTION
9
10 \fBMonkeysphere\fP is a framework to leverage the OpenPGP Web of Trust
11 for ssh authentication.  OpenPGP keys are tracked via GnuPG, and added
12 to the authorized_keys and known_hosts files used by ssh for
13 connection authentication.
14
15 .SH IDENTITY CERTIFIERS
16
17 Each host that uses the \fBMonkeysphere\fP to authenticate its remote
18 users needs some way to determine that those users are who they claim
19 to be.  SSH permits key-based authentication, but we want instead to
20 bind authenticators to human-comprehensible user identities.  This
21 switch from raw keys to User IDs makes it possible for administrators
22 to see intuitively who has access to an account, and it also enables
23 end users to transition keys (and revoke compromised ones)
24 automatically across all \fBMonkeysphere\fP-enabled hosts.  The User
25 IDs and certifications that the \fBMonkeysphere\fP relies on are found
26 in the OpenPGP Web of Trust.
27
28 However, in order to establish this binding, each host must know whose
29 cerifications to trust.  Someone who a host trusts to certify User
30 Identities is called an Identity Certifier.  A host must have at least
31 one Identity Certifier in order to bind User IDs to keys.  Commonly,
32 every ID Certifier would be trusted by the host to fully identify any
33 User ID, but more nuanced approaches are possible as well.  For
34 example, a given host could specify a dozen ID certifiers, but assign
35 them all "marginal" trust.  Then any given User ID would need to be
36 certified in the OpenPGP Web of Trust by at least three of those
37 certifiers. 
38
39 It is also possible to limit the scope of trust for a given ID
40 Certifier to a particular domain.  That is, a host can be configured
41 to fully (or marginally) trust a particular ID Certifier only when
42 they certify identities within, say, example.org (based on the e-mail
43 address in the User ID).
44
45 .SH KEY ACCEPTABILITY
46
47 During known_host and authorized_keys updates, the monkeysphere
48 commands work from a set of user IDs to determine acceptable keys for
49 ssh authentication.  OpenPGP keys are considered acceptable if the
50 following criteria are met:
51 .TP
52 .B capability
53 The key must have the `authentication' (`a') usage flag set.
54 .TP
55 .B validity
56 The key itself must be valid, i.e. it must be well-formed, not
57 expired, and not revoked.
58 .TP
59 .B certification
60 The relevant user ID must be signed by a trusted identity certifier.
61
62 .SH HOST IDENTIFICATION
63
64 The OpenPGP keys for hosts have associated user IDs that use the ssh
65 URI specification for the host, i.e. `ssh://host.full.domain[:port]'.
66
67 .SH AUTHOR
68
69 Written by:
70 Jameson Rollins <jrollins@fifthhorseman.net>,
71 Daniel Kahn Gillmor <dkg@fifthhorseman.net>
72
73 .SH SEE ALSO
74
75 .BR monkeysphere (1),
76 .BR monkeysphere\-host (8),
77 .BR monkeysphere\-authentication (8),
78 .BR openpgp2ssh (1),
79 .BR pem2openpgp (1),
80 .BR gpg (1),
81 .BR http://tools.ietf.org/html/rfc4880,
82 .BR ssh (1),
83 .BR http://tools.ietf.org/wg/secsh/draft\-ietf\-secsh\-scp\-sftp\-ssh\-uri/