Open Source Bluetooth Keyboard Emulator - programmable USB token

0
=
0
+
0
No specific Bitcoin Bounty has been announced by author. Still, anyone could send Bitcoin Tips to those who provide a good answer.
0

Hey I am looking for an App-controllable Bluetooth USB token that would emulate USB keyboard so I could connect to it from my Android or iPhone via Bluetooth, and then press a button in the App and then the Token would type passwords for me or maybe some other custom commands / arbitrary text that I would configure inside the App.

Design Requirements:

  • one of the use cases is to unlock my OPAL-encrypted SED disk drive when my computer is booting up. It requires entering the password and I want to use strong password. Also I might be using 10 different computers with encrypted drives, all passwords will be different. So need some sort of a hardware password manager or so
  • Some of these computers may not have Bluetooth. Even if they have it, I do not want to pair with 10 Bluetooth devices, I would rather prefer to pair with just 1 USB token
  • It is a known fact that Bluetooth keyboards only work once OS boots up and loads BT drivers. Most of the BIOS / UEFI do not have a built-in support for BT. This is why your typical Bluetooth Keyboard Emulator App will not be able to enter the password to decrypt my OPAL-encrypted SED disk drive - b/c it happens at Pre-Boot Authentication (PBA) stage - before the main OS boots up. Usually, PBA environment does not have BT drivers.
  • passwords should not be stored (or logged) in a USB Token - so if I lose that token then I dont care - I would just use another token
  • I would prefer to have the following user interaction flow:
    • STEP 1 - the token is inserted into USB, the LED is black
    • STEP 2 - I open the App and press on one of the pre-configured commands / passwords. The App sends this text into USB token via Bluetooth
    • STEP 3 - the LED light turns GREEN which means that the command has been received and device is waiting for me to press the physical button on a USB token to actually type the command via keyboard emulation. I have 5 seconds to do so. During this time device does NOT accept any other commands over Bluetooth. It is either I press the physical button on a USB token, or 5 seconds timing out and the token forgets the command and is ready to receive a new command
    • STEP 4 - I press the physical button and then the USB token types the command via keyboard emulation

Do you know any device that could be used as described above? Thank you!

1 Answer

1
=
0
=
$0
Internet users could send Bitcoin Tips to you if they like your answer!

Intelletto dongle

It looks like this dongle is doing something similar to what we want. But it costs almost $50 http://www.intelletto.com/products?id=3004

Nordic USB Dongle

This Nordic USB dongle is what could be programmed into what I need. The Google's OpenSK project could be extended to include this app-controlled Bluetooth Keyboard Emulator. Here is the MakerDiary's board version: https://wiki.makerdiary.com/nrf52840-mdk-usb-dongle/opensk/ https://github.com/makerdiary/nrf52840-mdk-usb-dongle

Here is the original nRF52840 USB Dongle board directly from Nordic. It looks very similar to MakerDiary's board, also it looks like MakerDiary board is a bit smaller in size. Anyways, here is Nordic Dongle: https://www.nordicsemi.com/Software-and-tools/Development-Kits/nRF52840-Dongle

Both MD and Nordic boards are avaialble for sale at around $10 - nice!

Bluetooth dongle with a HID Proxy mode

From our prospective, this is a dongle that translates Bluetooth keyboard into USB HID (aka standard USB Keyboard). Then, in theory, any Bluetooth Keyboard Emulator App should be able to work with such dongle, even in BIOS, even before OS boots up and loads Bluetooth drivers. Surprisingly, it seems like these HID Proxy dongles are rare

ESP32 based projects

I think what I want could also be programmed using ESP32 usb dongles and some software similar to what is used in these projects below. Just including these links so I have it for a reference:

[TW#13919] Bluetooth HID implementation progress? https://github.com/espressif/esp-idf/issues/782

https://github.com/asterics/esp32mousekeyboard

https://github.com/bluekitchen/btstack/tree/master/port/esp32

https://www.crowdsupply.com/rfid-research-group/usbninja

Non-relevant projects that sound confusingly similar

Solo Key - hacker edition - does NOT support Bluetooth, so it is not an option for this project https://solokeys.com/collections/all/products/solo-hacker

USB Ninja - somewhat relevant, but it looks like it is based on Arduino which is I do not think is a good fit here. But it has Android app that talks to USB ninja over bluetooth, so might be worth a look https://www.crowdsupply.com/rfid-research-group/usbninja

Bleuio - can this be programmed into what we want? Maybe yes... https://bleuio.com/index.php#

Some relevant links

https://stackoverflow.com/questions/19781073/sending-data-from-ios-device-to-windows-pc-over-an-bluetooth-hid-dongle?rq=1

https://stackoverflow.com/questions/19781073/sending-data-from-ios-device-to-windows-pc-over-an-bluetooth-hid-dongle?rq=1

https://stackoverflow.com/questions/33171388/bluetooth-usb-smart-dongle-with-hid-support?rq=1

https://github.com/topics/keyboard-emulation

Somewhat relevant terms glossary

Serial Port Profile (SPP) - The Serial Port Profile is a Bluetooth profile that allows for serial communication between a Bluetooth device and a host/slave device. With this profile enabled, you can connect to a Bluetooth module through a serial terminal. This can be used for configuration purposes or for communication purposes. Some pages above talk about "SPP to HID" so it is good to know what is SPP in context of Bluetooth

HID Proxy - the full term is "Bluetooth dongle with a HID Proxy mode" - so I think this is a dongle that translates Bluetooth keyboard into USB HID (aka standard USB Keyboard). Then, in theory, any Android Bluetooth Keyboard Emulator App should be able to work with such dongle, even in BIOS, even before OS boots up and loads Bluetooth drivers. Surprisingly, it seems like these HID Proxy dongles are rare ...

SEND BITCOIN TIPS
0

Too many commands? Learning new syntax?

FavScripts.com is a free tool to save your favorite scripts and commands, then quickly find and copy-paste your commands with just few clicks.

Boost your productivity with FavScripts.com!

Post Answer