Git Product home page Git Product logo

Comments (2)

cmdli avatar cmdli commented on August 25, 2024

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.

from virtual-fido.

jeroenhd avatar jeroenhd commented on August 25, 2024

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:

  1. pkg add golang git in termux to install the necessary tooling
  2. git clone https://github.com/bulwarkid/virtual-fido/ inside termux to download the repository
  3. Patch out the IP check in `virtual-fido/usbip_server.go (line 32-36) and the import for strings (line 6) using your command line editor of choice within termux
  4. go run main start just like on desktop
  5. On your PC, run usbip attach -r $yourPhonesIpAddress -b 2-2.
  6. The virtual-fido server on your phone is now usable from your PC!

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.

from virtual-fido.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.