A phone app would be nice, but cuts out a lot of people. A cheaper YubiKey sort of USB device might work better. Of course, ideally you'd support multiple hardware solutions. $5 USB devices, phone apps that communicate with bluetooth, NFC and/or WiFi, watches using NFC, "dog tags" using NFC, pretty much anything and everything you can think of. Just define standard communication protocols and let the OEMs and software developers loose.