2014/1/6 Nikos Mavrogiannopoulos <n...@redhat.com>:
> On Sat, 2014-01-04 at 21:57 +0100, Ludovic Rousseau wrote:
>
>> > Hello,
>> >  Indeed smart cards _may_ have some access control method (but they are
>> > not required to). The smart card access control currently is very
>> > coarse (as I can erase every smart card in the system without any
>> > special permissions), and several files on the card like certificates are
>> > almost never protected.
>> >
>> > What the patch ensures is that only admin-authorized processes can talk
>> > to the hardware. That means:
>> > * Only authorized processes can extract the public information in the
>> > card.
>> > * Only authorized processes can erase the card.
>> > * Only authorized processes can talk to the card firmware (cards may
>> > have bugs as any other kind of software).
>> >
>> > Moreover, authorization policy is tied to the system processes rather
>> > than being an external process that depends on the smart card in
>> > use. For example, a PIN-enabled smart card can never distinguish a
>> > local user from a console one, however polkit policies can.
>>
>> I am still not convinced that Policy Kit is a good solution for the
>> problems you describe.
>
> I agree there may be other solutions as the ones you suggest below, but
> they require changing the hardware. Access control with polkit works
> with any smart card and any smart card access control method. Also the
> 3rd point I make (access to the card firmware) cannot be solved by
> additional hardware, but is solved with polkit.
>
>> If the card can be erased or modified without any previous
>> authentication (PIN or secure message) then that is the problem of the
>> card (or card provider).
>
> All the smart cards I ever had can be erased by anyone in the system
> using "pkcs15-init -E". So using polkit there will allow the
> administrator of the system to define the "anyone" part.

I guess you only have PKCS#15 cards with default (known) transport keys.

You can't reinitialize a correctly configured smart card. Try to erase
a SIM or banking card.

>> If you want to avoid a remote user to use a PIN protected card the
>> best is to use a pinpad reader with a firewall. The PIN will only be
>> entered using the pinpad. Any PIN verification command will be
>> rejected by the reader firewall.
>
> Or I can use polkit :) The latter requires no additional hardware and is
> already used for access control (to access hard disks) in most systems.
>
> In general administrating a system doesn't always imply selection of the
> authenticating tokens. Typically the tokens are fixed and the
> administrator tries to make the best use of the system access controls
> to prevent misuse. In 99% of the cases a smart card is used
> interactively from the guy sitting on the PC and currently there is no
> way to enforce that.

OK. PolKit may solve some some problems in some cases.

My concern is: what default security policy should be provided by pcsc-lite?
To _not_ break existing system the default configuration should be:
access allowed for any process.
Can we propose something better than that?

Bye

-- 
 Dr. Ludovic Rousseau

_______________________________________________
Muscle mailing list
Muscle@lists.musclecard.com
http://lists.musclecard.com/mailman/listinfo/muscle_lists.musclecard.com

Reply via email to