summaryrefslogtreecommitdiff
path: root/auth.c
diff options
context:
space:
mode:
authordjm@openbsd.org <djm@openbsd.org>2020-08-27 01:07:09 +0000
committerDamien Miller <djm@mindrot.org>2020-08-27 11:28:36 +1000
commit801c9f095e6d8b7b91aefd98f5001c652ea13488 (patch)
tree6c6416d6d926939b208eb1f1181f196a554e0734 /auth.c
parent9b8ad93824c682ce841f53f3b5762cef4e7cc4dc (diff)
upstream: support for requiring user verified FIDO keys in sshd
This adds a "verify-required" authorized_keys flag and a corresponding sshd_config option that tells sshd to require that FIDO keys verify the user identity before completing the signing/authentication attempt. Whether or not user verification was performed is already baked into the signature made on the FIDO token, so this is just plumbing that flag through and adding ways to require it. feedback and ok markus@ OpenBSD-Commit-ID: 3a2313aae153e043d57763d766bb6d55c4e276e6
Diffstat (limited to 'auth.c')
-rw-r--r--auth.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/auth.c b/auth.c
index 086b8ebb1..9a5498b66 100644
--- a/auth.c
+++ b/auth.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: auth.c,v 1.146 2020/01/31 22:42:45 djm Exp $ */ 1/* $OpenBSD: auth.c,v 1.147 2020/08/27 01:07:09 djm Exp $ */
2/* 2/*
3 * Copyright (c) 2000 Markus Friedl. All rights reserved. 3 * Copyright (c) 2000 Markus Friedl. All rights reserved.
4 * 4 *
@@ -1006,21 +1006,22 @@ auth_log_authopts(const char *loc, const struct sshauthopt *opts, int do_remote)
1006 1006
1007 snprintf(buf, sizeof(buf), "%d", opts->force_tun_device); 1007 snprintf(buf, sizeof(buf), "%d", opts->force_tun_device);
1008 /* Try to keep this alphabetically sorted */ 1008 /* Try to keep this alphabetically sorted */
1009 snprintf(msg, sizeof(msg), "key options:%s%s%s%s%s%s%s%s%s%s%s%s%s%s", 1009 snprintf(msg, sizeof(msg), "key options:%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s",
1010 opts->permit_agent_forwarding_flag ? " agent-forwarding" : "", 1010 opts->permit_agent_forwarding_flag ? " agent-forwarding" : "",
1011 opts->force_command == NULL ? "" : " command", 1011 opts->force_command == NULL ? "" : " command",
1012 do_env ? " environment" : "", 1012 do_env ? " environment" : "",
1013 opts->valid_before == 0 ? "" : "expires", 1013 opts->valid_before == 0 ? "" : "expires",
1014 opts->no_require_user_presence ? " no-touch-required" : "",
1014 do_permitopen ? " permitopen" : "", 1015 do_permitopen ? " permitopen" : "",
1015 do_permitlisten ? " permitlisten" : "", 1016 do_permitlisten ? " permitlisten" : "",
1016 opts->permit_port_forwarding_flag ? " port-forwarding" : "", 1017 opts->permit_port_forwarding_flag ? " port-forwarding" : "",
1017 opts->cert_principals == NULL ? "" : " principals", 1018 opts->cert_principals == NULL ? "" : " principals",
1018 opts->permit_pty_flag ? " pty" : "", 1019 opts->permit_pty_flag ? " pty" : "",
1020 opts->require_verify ? " uv" : "",
1019 opts->force_tun_device == -1 ? "" : " tun=", 1021 opts->force_tun_device == -1 ? "" : " tun=",
1020 opts->force_tun_device == -1 ? "" : buf, 1022 opts->force_tun_device == -1 ? "" : buf,
1021 opts->permit_user_rc ? " user-rc" : "", 1023 opts->permit_user_rc ? " user-rc" : "",
1022 opts->permit_x11_forwarding_flag ? " x11-forwarding" : "", 1024 opts->permit_x11_forwarding_flag ? " x11-forwarding" : "");
1023 opts->no_require_user_presence ? " no-touch-required" : "");
1024 1025
1025 debug("%s: %s", loc, msg); 1026 debug("%s: %s", loc, msg);
1026 if (do_remote) 1027 if (do_remote)