<div dir="ltr"><div>Cool! Last time I asked OmniKey/HID for a specification of the transport layer, I received silence... The fact that it has simple plaintext communication is probably the reason why it is discontinued.<br><br>My only comment would be to make it clear in the patch that these features are  "HID/omnikey" which has nothing to do with HID as <a href="https://en.wikipedia.org/wiki/Human_interface_device">https://en.wikipedia.org/wiki/Human_interface_device</a> (because devices like FIDO and Yubikey DO use HID and/or CCID for communication and this could create confusion)</div><div><br></div><div>I hope I did not trash the 2061 as a useless reader and can find it to test.</div><div><br></div><div>Best,</div><div>Martin<br><br><div class="gmail_quote"><div dir="ltr">On Mon, 14 Aug 2017 at 16:20 James <<a href="mailto:pcsclite@madingley.org">pcsclite@madingley.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Attached are patches to support the HID Omnikey 2061, and<br>
the ACR3901U-S1 bluetooth card readers.<br>
<br>
---<br>
<br>
The HID Omnikey 2061, is end of life but is readily<br>
available on eBay. I reverse engineered the protocol<br>
from observing the windows drivers. It uses CCID over<br>
serial over Bluetooth RFCOMM. As such the pin is not<br>
particularly well protected.<br>
<br>
To use the HID driver, first pair the reader with the<br>
computer using your favourite bluetooth stack then create<br>
a file in /etc/reader.conf.d/ containing (edit the path<br>
and set the DEVICENAME to be the MAC address of the reader)<br>
<br>
DEVICENAMEÂ Â Â Â 00:80:25:33:44:55<br>
FRIENDLYNAMEÂ Â Â "My HID 2061"<br>
LIBPATHÂ Â Â Â Â Â /usr/lib64/pcsc/drivers/serial/libccidhid.so<br>
<br>
---<br>
<br>
The ACR3901U-S1 is in current production and communicates<br>
using a stripped down version of CCID over Bluetooth<br>
Low-Energy GATT, or CCID over USB. The over-the-air<br>
interface is protected by mutual authentication, and<br>
encrypted using 128 bit AES CBC using a random session<br>
key. The driver implements support for both interfaces.<br>
<br>
The device requires a 16 byte secret key to be known by<br>
the connecting computer, at the moment pcscd doesn't<br>
provide a simple way to insert this - (in this patch it's<br>
hard coded to the default value). What would be the<br>
preffered method of getting this into the driver?<br>
<br>
To use the ACR driver find the MAC address of the device<br>
(use hcitool lescan) on linux<br>
<br>
and create a file in /etc/reader.conf.d/ containing (edit<br>
the path and set the DEVICENAME to be the MAC address of<br>
the reader)<br>
<br>
DEVICENAMEÂ Â Â Â 11:22:33:44:55:66<br>
FRIENDLYNAMEÂ Â Â "My ACR3901U-S1"<br>
LIBPATHÂ Â Â Â Â Â /usr/lib64/pcsc/drivers/serial/libccidacr.so<br>
<br>
For USB operation the drive is plug and play.<br>
<br>
The ACR driver still outputs some debug output to stderr<br>
which should be fixed.<br>
<br>
The HID driver patch contains support for multiple serial<br>
devices, which is used by the ACR driver patch.<br>
<br>
<br>
James.<br>
_______________________________________________<br>
Pcsclite-muscle mailing list<br>
<a href="mailto:Pcsclite-muscle@lists.alioth.debian.org" target="_blank">Pcsclite-muscle@lists.alioth.debian.org</a><br>
<a href="http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pcsclite-muscle" rel="noreferrer" target="_blank">http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pcsclite-muscle</a></blockquote></div></div></div><div dir="ltr">-- <br></div><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><p dir="ltr">typos expected due to mobile device</p>
</div></div>