Open talkingtab opened 2 years ago
I wouldn't completely rule it out, as I haven't investigated it too thoroughly, but it would most likely be somewhat hard to support on mobile devices in its current form. Right now it emulates a USB device to get the base platform to treat it like any other FIDO device, and I suspect that might be hard to do on Android/iOS.
I have tested this from within Termux. Running the server doesn't require root permissions so it should be doable to port this library over! All you need is to have your devices on the same network.
My steps:
pkg add golang git
in termux to install the necessary toolinggit clone https://github.com/bulwarkid/virtual-fido/
inside termux to download the repositorygo run main start
just like on desktopusbip attach -r $yourPhonesIpAddress -b 2-2
.Do note that this approach doesn't use any authentication or verification. Someone else in your network may connect to your device's USB/IP server which is Bad News. I've noticed the connection works over a VPN, though, so with a point-to-point WireGuard setup and a well-configured firewall you may be able to set up something relatively secure.
To get proper phone-based FIDO support, though, I'd personally take another route and develop a full app: run the USB injection on the client and set up some kind of app<->PC communication bridge instead of reading the credentials from a file (leverage smartphones' secure storage APIs for the keys! maybe use biometrics for presence detection!). Maybe add some cloud messaging/Bluetooth LE/whatever messaging to exchange the signature securely between devices as well. Basically, let the tool only do the key operations on the phone. USB over IP can be quite dangerous because you never know who's in your network!
I think developing such an app shouldn't take more than a few weeks built on this project's foundations, you might even build a business out of this.
If you want to use your phone as a 2FA tool right now and don't feel like spending weeks to develop an app, krypt.co still operates, though it's no longer being developed and hasn't been updated for ages now. I'm not aware of any easily self-hostable alternatives at the moment, though you may try based on the krypton source code.
I would love to have a way for users to use Fido based on their iPhone or Android phone.