]> git.ipfire.org Git - thirdparty/openssh-portable.git/commit
upstream: major rework of FIDO token selection logic
authordjm@openbsd.org <djm@openbsd.org>
Thu, 27 Aug 2020 01:07:51 +0000 (01:07 +0000)
committerDamien Miller <djm@mindrot.org>
Thu, 27 Aug 2020 01:28:36 +0000 (11:28 +1000)
commit642e06d0df983fa2af85126cf4b23440bb2985bf
tree7115282d5778d4581b17a7fec07d7dcda64a7836
parent801c9f095e6d8b7b91aefd98f5001c652ea13488
upstream: major rework of FIDO token selection logic

When PINs are in use and multiple FIDO tokens are attached to a host, we
cannot just blast requests at all attached tokens with the PIN specified
as this will cause the per-token PIN failure counter to increment. If
this retry counter hits the token's limit (usually 3 attempts), then the
token will lock itself and render all (web and SSH) of its keys invalid.
We don't want this.

So this reworks the key selection logic for the specific case of
multiple keys being attached. When multiple keys are attached and the
operation requires a PIN, then the user must touch the key that they
wish to use first in order to identify it.

This may require multiple touches, but only if there are multiple keys
attached AND (usually) the operation requires a PIN. The usual case of a
single key attached should be unaffected.

Work by Pedro Martelletto; ok myself and markus@

OpenBSD-Commit-ID: 637d3049ced61b7a9ee796914bbc4843d999a864
sk-usbhid.c
ssh-keygen.c