For our business we use a number of different apps and websites but only two of them offer 2FA with a security key. The rest allow for an authenticator app. In this case, it seems just using an authenticator app would be best for consistency and without needing to purchase keys.
Of course, installing authenticatior apps on each device would be a no-no since it wouldn’t technically be 2FA. Then do we use each employee’s personal phones? Not sure how to proceed.
Ask whether people are happy using the generator app on their phone, and provide phones to anyone who isn’t comfortable with using their own device for that.
To pile on this, you can point people to public Auth apps that aren’t linked to your workplace. This might reduce suspicions about you installing work apps on their phones.
What about using a password manager to store 2FAs for apps and websites and then a security key for the password manager 2FA?
I’m not too happy with this solution. Not extremely bad, but technically, both password and the second factor are stored in the same place, which makes this similar in security to just using a long, random password with a password manager.
This is the way.
deleted by creator
The ideal solution is to have one identity provider and then use Single Sign-On (SSO) to authenticate your users to all of their other apps. All of the big identity providers (Microsoft, Google, Okta, etc) support security keys.
I recognize that it might not be feasible to use SSO for all of your apps as a small business; a lot of SaaS platforms unfortunately charge extra for SSO. That being said my advice would be use SSO whenever possible for your apps and include SSO availability in your decision-making process for purchasing new software.
For those apps that do not support SSO, my advice would be to either compensate employees for using their personal devices for work or give them corporate devices that are only used for work things.
I would just give them a Yubikey or something similar and then they don’t need to use a phone to store the TOTP codes (the app for that purely accesses the data on the key, there are desktop applications for that too) and for webauthn you want to connect it directly to the work device anyway.
The big advantage is that you only need to authenticate once and don’t need another 2FA app for every service you need to access. It gets quite annoying to type a TOTP code five times a day.