Hi!

Jean-Michel Pouré - GOOZE wrote:
> > It's my old idea of implementing PKCS#11 directly over USB. Issues
> > have been pointed out, and they would have to be solved of course. 
> 
> Feitian offers two ranges of products: CCID (ePass2003 and other
> products) and HID over USB (ePass2001 and other products). 

Don't get me started on HID. :) The libusb FAQ

http://libusb.org/wiki/FAQ#CanIcreateadriverlessdeviceusingHIDclass

tries to give an overview of the considerations for using HID.

Executive summary is that it's a bad idea if you want to run on
anything but Windows, and even there it may not be a very good idea
because you have to re-implement some features which USB otherwise
offers your protocol design for free.


> At Gooze, we have HID over USB products in stock (around 100 unused
> tokens) but we did not released them as they were incompatible with
> OpenSC. 
> 
> Under Windows, it seems that HID over USB range of products can be
> used without drivers, just over USB.

Do you know how it is used by CryptoAPI and/or PKCS#11 applications?


> Under Linux, a small proprietary USB framework is needed.

Proprietary? You know that I think that's the wrong approach. :)
The FAQ page mentions HIDAPI which can be used to communicate with
HID class devices in some cases, but if portability is a concern, it
should be clear from the FAQ page that using HID is not the best
choice anyway.


> If this is what you mean,

Sorry, no, it's not. What I have in mind is to implement the actual
PKCS#11 API directly over USB, as far as that is possible. Again,
issues have been pointed out with doing this, but I still think it's
worth a shot.


> IMHO, CCID is superior as it is really plug-and-play under all
> systems.

So much software is running which is completely unneccessary. I agree
that CCID has sufficient usability, but it is by far not the best
that can be done.


> Pure plug-and-play never exists,

It does, actually. At least in Windows and Linux pure plug-and-play
would be possible with my USB P11 idea, but I believe also in other
systems.

As always with PKCS#11 it would be neccessary to point applications
to the correct PKCS#11-provider file (.dll or .so) but still I find
the idea worth exploring.


> What we need is:
> * Cheap hardware available worldwide, with onlines sales.

Yes, and the logistics of this can be tricky, but as you know with
some volume it can indeed be done. And if the solution is good enough
I think the volume will come.


> * A common framework under all systems, this is OpenSC.

I'd be much happier without any framework at all actually.


> * Compatibility with all systems, including Linux, Mac, Windows and
> Android.

Yes, the portability is important. iOS would also be nice, but well
that may be pushing one's luck. :p


> From my point of view, I would be more in favor of an Android phone
> acting as a CCID device overs some secure wireless link over OpenSC.

As you probably know, anything wireless is a quite significant attack
vector. No "secure" transactions there please. But with a cable
maybe. However, Android devices so far do not have a strong history
of local IO either coming in or going out. :\ This can change along
with market demands of course, but it raises the barrier for
development.


> GOOZE will soon release crypto chips for Android

What kind of chips? How do they connect?


> The only reason why Apple removed smartcard support is that (in my
> opinion) it may be working secretly on a new iPhone replacing
> smartcards and offering secure payment.

Yes, I think this is a common belief, and I don't think it's wrong.


> The target for new OpenSC developments should be smart phones.

Much of OpenSC doesn't really apply in smartphones, but I agree that
smartphones may be very relevant security devices.


//Peter

Attachment: pgpLnKnaGHQ64.pgp
Description: PGP signature

_______________________________________________
opensc-devel mailing list
opensc-devel@lists.opensc-project.org
http://www.opensc-project.org/mailman/listinfo/opensc-devel

Reply via email to