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