I’ve been interested in the Yubikey for some time now, it’s an interesting approach to the problem of two-factor authentication with a physical token that is a space normally owned by the big guys.
Yubikeys are a physical usb device that emulates a HID keyboard profile and when you need to supply the second factor authentication response you just hit the button on the usb key.
The guys behind the Yubikey, Yubico, provide the devices pre-configured for their cloud validation api which is accessible via a number of endpoints using a REST style api. Its all very well documented and most of the implementations in various languages are open source.
Today there is another: InsertDataHere.Yubikey
This is a .net based client api interface written in c# and supports mono (was developed on as well).
Its alpha quality but fully featured supporting parallel queries, https, hmac message verification & ssl certificate fingerprint checking.
So if you need a two-factor authentication solution, I’d suggest checking out Yubico’s Yubikey and giving it a go.