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