Andreas Jellinghaus wrote:

First of all: congrats to the big job you and other people do with OpenSC!

>hmm, what exactly is the problem you are trying to solve?

I may need to start with some background info....

If you wanted to put client-certificates in phones using processes that
could be used by "mere mortals" (which is something that I work with
in my day-job), you will soon find out that all devices are different and
therefore this is not really possible on a major scale.

So, I started out trying to define a complete infrastructure from trusted HW,
middleware, to browser-based enrollment/provisioning protocols for this
very purpose.

However, my (negative) experiences with standardization of security protocols
as well as my current work which also involves smart cards, convinced me that 
the
project would have a better chance of succeeding if it also embraced PCs
and applications like on-line banking.   I theory the financial sector could 
have
solved this but as somebody put it: "VISA has 2000 bosses" (member banks)
so it seems unlikely to ever happen.

Anyway, in order to provision keys with associated attributes using on-line
methods rather than a CMS (Card Management System), you indeed need
a "smarter smart card" because current smart cards do not have attestation keys
and air-tight methods for adding attributes to keys.

You are right that this project will face similar issues as existing smart 
cards,
but there is one big difference: there is no file-system which I guess is the 
reason
to why every EU eID seems to require a patch in OpenSC.  There is just a
rather simple API with typed attributes that you bind to keys.  PINs and PUKs
are of course fully integrated in the provisioning protocol including policy.

Unlike existing smart cards, the "smarter smart card" also supports on-line
management of keys by *independent* issuers using "air-tight" methods. 
This is of course primarily of importance in phones but I see that a universal
key-ring in the form of an USB stick combining mass-storage and a gazillion keys
could be interesting, at least of the add-on cost is a dollar or two.

The "smarter smart card", could also serve as a perfect "replacement card" for
conventional smart card deployments, since it should be possible to buy it
everywhere as well as be personalizable in the field using any computer.

If you feel that this was way too much of marketing BS, you may take a peek in 
the
following document which shows the foundation for "air-tight" provisioning:
http://webpki.org/papers/keygen2/session-key-establishment--security-element-2-server.pdf

Regards
Anders

-------
sure, writing software for smart cards is hard, but inventing
something to replace smart card + reader doesn't solve all the
issues you need to think of. if you have a similar device, you
will have mostly the same basic issues you need to tackle,
no matter if you have iso 7816 and smart cards, or usb and 
micro processors. (for example: storage format for data,
access control for all parts, encrypted or plain communication,
one or several authentication layers (PIN), security schemas,
role out scenarios, integration with application, concurrent
alternating access or single-sign-on access mechanism, etc.).

"smarter smart card" sounds strange to me, as with all the
many problems I see with smart card software/solution packages,
I never thought "those smart cards aren't smart enough". so why
smarter?

one big issue I see is the incompatibility, not-invented-here
and "special" solutions everywhere (partly for historic reasons,
partly for commercial reasons). adding one more "new" schema
doesn't reduce that.

implementing a solution without thinking aiming at compatibility,
but getting a well working solution done, that could be done
with current technology as well - for example java cards,
ccid readers, pcscd, and a software on top, for example an
enhanced opensc. so why move away from proven technology?

I'm no expert on java cards, but at least ccid standard and
pcscd seem to work very well, why replace them?

still your work would be very interesting, if it is open
and thus can be used on other plattforms. for example
to run a client software providing the same usb interface
on mobile phones (some simple software to keep keys, sign
data, hand out public date).

the very simple input/output system you presented: I don't
get it. don't you need all that meta information in one way
or some other? (e.g. token info, meta data such as serial number,
list of certificates and their content, list of pub/priv keys,
list of pin objects, etc. etc. etc.?) I don't see how you can
simplify all that without reducing the typical functionality
by far. or is that the goal? what functionality should be provided
in the end?

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

Reply via email to