re-worked documentation and raised issues in TODO about end user authentication.
[monkeysphere.git] / doc / TODO
1 Next-Steps Monkeysphere Projects:
2 ---------------------------------
3
4 Detail advantages of monkeysphere: detail the race conditions in ssh,
5    and how the monkeysphere can help you reduce these threat vectors:
6    threat model reduction diagrams.
7
8 Determine how openssh handles multiple processes writing to
9    known_hosts/authorized_keys files (lockfile, atomic appends?)
10
11 Handle unverified monkeysphere hosts in such a way that they're not
12    always removed from known_hosts file.  Ask user to lsign the host
13    key?
14
15 Handle multiple hostnames (multiple user IDs?) when generating host
16    keys with gen-key.
17
18 Work out the details (and describe a full use case) for assigning a
19    REVOKER during monkeysphere-server gen_key -- how is this set?  How
20    do we export it so it's available when a second-party revocation is
21    needed?
22
23 Actually enable server hostkey publication.
24
25 Streamline host key generation, publication, verification.  See
26    doc/george/host-key-publication for what dkg went through on
27    2008-06-19
28
29 Streamline authorized_user_ids setup (including question of where
30    authorized_user_ids files should go).  See
31    doc/george/user-id-configuration for what dkg went through on
32    2008-06-19
33
34 Ensure that authorized_user_ids are under as tight control as ssh
35    expects from authorized_keys: we don't want monkeysphere to be a
36    weak link in the filesystem.
37
38 What happens when there are no entries in the authorized_user_ids file
39    for a user?  /var/cache/monkeysphere/authorized_keys/$USER.tmp
40    seems like it gets created and then left there.
41
42 What happens when a user account has no corresponding
43    /etc/monkeysphere/authorized_user_ids/$USER file?  What gets placed
44    in /var/cache/monkeysphere/authorized_keys/$USER?  It looks
45    currently untouched, which could mean bad things for such a user.
46
47 Consider the default permissions for
48    /var/cache/monkeysphere/authorized_keys/* (and indeed the whole
49    directory path leading up to that)
50
51 What should happen when an admin does 
52    "monkeysphere-server update-users not_an_existent_user"?
53    currently, it adds
54    /etc/monkeysphere/authorized_user_ids/not_an_existent_user, which
55    seems rather wrong.
56
57 is /var/cache/monkeysphere/authorized_keys/$USER.tmp guaranteed to
58    avoid collisions?  Why not use a real mktemp file?
59
60 As an administrator, how do i reverse the effect of a
61    "monkeysphere-server trust-keys" that i later decide i should not
62    have run?
63
64 Make sure alternate ports are handled for known_hosts.
65
66 Script to import private key into ssh agent.
67
68 Provide a friendly interactive UI for marginal or failing client-side
69    hostkey verifications.  Handle the common cases smoothly, and
70    provide good debugging info for the unusual cases.
71
72 Make sure onak properly escapes user IDs with colons in them.
73
74 Build a decent, presentable web site for documentation, evangelism,
75    etc.  Include a mention of how to report trouble or concerns.
76
77 Create ssh2openpgp or convert to full-fledged keytrans.
78
79 Resolve the bugs listed in openpgp2ssh(1):BUGS.
80
81 Understand and document alternate trustdb models.
82
83 Understand and document the output of gpg --check-trustdb:
84  gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
85  gpg: depth: 0  valid:   2  signed:  20  trust: 0-, 0q, 0n, 0m, 0f, 2u
86  gpg: depth: 1  valid:  20  signed:  67  trust: 15-, 0q, 1n, 3m, 1f, 0u
87  gpg: next trustdb check due at 2008-10-09
88
89 Understand and document the numeric values between sig! and the keyid
90    in "gpg --check-sigs $KEYID" .  Compare with the details found from
91    "gpg --with-colons --check-sigs $KEYID".  This has to do with trust
92    signatures.
93
94 Fix gpg's documentation to clarify the difference between validity and
95    ownertrust.  Include better documentation for trust signatures.
96
97 Make it easier to do domain-relative ssh host trust signatures with
98    gnupg. (e.g. "i trust Jamie McClelland (keyID 76CC057D) to properly
99    identify ssh servers in the mayfirst.org domain") See:
100    http://tools.ietf.org/html/rfc4880#section-5.2.3.21 and grep for
101    "tsign" in gpg(1).
102
103 Fix the order of questions when user does a tsign in gpg or gpg2.
104
105 File bug against ssh-keygen about how "-R" option removes comments
106    from known_hosts file.
107
108 File bug against ssh-keygen to see if we can get it to write to hash a
109    known_hosts file to/from stdout/stdin.
110
111 Add environment variables sections to man pages.
112
113 Environment variable scoping.
114
115 Move environment variable precedence before conf file.
116
117 When using ssh-proxycommand, if only host keys found are expired or
118    revoked, then output loud warning with prompt, or fail hard.
119
120 Update monkeysphere-ssh-proxycommand man page with new keyserver
121    checking policy info.
122
123 Update monkeysphere-ssh-proxycommand man page with info about
124    no-connect option.