Bug 2328 - Per-user certificate revocation list (CRL) in authorized_keys
Summary: Per-user certificate revocation list (CRL) in authorized_keys
Status: NEW
Alias: None
Product: Portable OpenSSH
Classification: Unclassified
Component: sshd (show other bugs)
Version: 6.7p1
Hardware: Other Linux
: P5 enhancement
Assignee: Assigned to nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-12-22 20:07 AEDT by martin ➬
Modified: 2020-08-29 09:54 AEST (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description martin ➬ 2014-12-22 20:07:28 AEDT
I can tag a punkey `cert-authority` in authorized_keys, allowing every user to administer their own CA for SSH logins. This is very cool, thanks for that feature.

Unfortunately, this only makes sense if each user also manages a corresponding CRL. However, this seems only possible in `sshd_config`, meaning users cannot control it themselves trivially, and there's also a namespacing issue / the possibility of users interfering with each other. Finally, I might want to revoke access for a key from one account but not another.

Hence, it would be cool if I could specify in `authorized_keys` something akin to:

  cert-authority,crl-file="revoked-certs",command="…" ssh-rsa …

and have `sshd` consult the CRL in `~/.ssh/revoked-certs` (or an absolute path) when deciding whether to authenticate/authorize a login.

Thanks,
-m
Comment 1 martin ➬ 2014-12-22 22:41:46 AEDT
It just occured to me that this could probably trivially be enabled giving access to %h and %u like AuthorizedKeysFile to sshd_config's RevokedKeys. It would still mean only one CRL per user, whereas a pointer in the actual authorized_keys file would mean one CRL per CA, which is what it should be.
Comment 2 Damien Miller 2014-12-23 09:30:51 AEDT
Having authorized_keys refer to other files is probably too much work (it's tricky because of privilege separation), but it should at least support revoking specific keys.
Comment 3 Jordan Macdonald 2020-08-29 09:34:56 AEST
Created a new bug report for the suggestion to define per-user (rather than per-cert) revocation lists: https://bugzilla.mindrot.org/show_bug.cgi?id=3204