-
Notifications
You must be signed in to change notification settings - Fork 0
FAQ
USBKeychain mimics an USB keyboard. To achieve this, when connected to a computer, the key uses the USB protocol to registers as an HID device (see http://www.usb.org/developers/hidpage/ for more information). Then, when the key is requested to type the password, it sends each of its characters to the computer as a physical keyboard would do.
The password is stored in plain text in the EEPROM of the Atmel Attiny85 chip. It means that it is preserved across reboot. It also means that there is currently no mechanism to protect it. Thus keep your key safe.
No. The seed used to generate the random password is probably not complex enough. You should not rely on this function which is currently just a proof of concept.
These IDs are provided along with the v-usb library. It means that they are not unique to this project and can be found while using other devices (probably using v-usb as well).
Follow theses steps before getting mad :
-
Check on this diagram that every component is at the right place and correctly wired.
-
Use an ohmmeter to check the good connection (and direction if required) of every component.
-
Check the messages when building and loading the firmware to see if everything is correct. Otherwise, debug accordingly to what you get.
-
Check the fuses of your Atmel Attiny85. In particular, CPU frequency and counters must be correctly set. If necessary, reapply the correct fuses.
-
Check if your key is recognised by the operating system (i. e. using
lsusb
on linux orsystem_profiler SPUSBDataType
on macOS). It should appear with a vendor ID = 0x16c0, a product ID = 0x27db, and a device name = USBKeychain. -
Check that there is no other USB device with the same vendor and product IDs. If so, remove this device before plugging your key as the python script only relies on theses information to select the right USB device to talk to.