Peter Williams wrote:
Signature and Cipher Limitations for Keys</h3>
<p>There is no more a fixed signature or cipher algorithm for a key. All
possible combinations allowed by the Java Card API and the card abilities
are possible.</p>
Changing the semantics on this seems unhelpful, because it removes
functionality that many security policies will now be assuming. A change of
implementation is ok.
I suggest that you add a run-time control, which allows the card issuer (or
other key creator) to once again control the defined usages of a key.
Whereas before, said usages were defined as in the semantics of CreateKey
APDU, its ok to replace that create-time control with a run time access
control decision - which could be declared to accomplish the same effect as
the original (construction-time) policy or have a more open policy.
Perhaps the easy way to implement a run time key usage control is to define
another ACL class, and define the key usage bits. Then attach this bit array
to each key, and perform enforcement.
Yes, possible. But this limit was artificial introduced, because of the
missing garbage collection. Are there some practical examples were it
makes sense to restrict the key to only signing or verification or
decryption or encryption with a certain algorithm?
The never used MSCKeyPolicy would become a meaning. From the
libmusclecard API side it is possible. The key policy can be integrated
in the CreateKey command APDU. Would also be compatible if it is
appended at the ending. (Compatibility means for me: New applications
with the new semantic can also handle old cards. Old application can
access new cards is hard, but I try.) A bigger problem is where to save
this rights.
The CreateKey command can be extended to support key policies. Also no
problem.
Although it is a mix of the raw key format and the policy, internal the
key policy (and by the way also information about the partner key) can
be appended to the stored key blob in the object manager. External this
information is removed and the usual key blob is returned. Stays
compatible in all directions.
ListKeys has to be extended and should report the key policy.
This is a next step when the other things are working.
If the suggestion is not ok, consider another: have a bit in the APDU which
allows the key to be created with the new semantics, leaving absence of the
new APDU parameter bit meaning: stay with conventional key usage definition,
on key object creation.
http://www.inf.tu-dresden.de/~ko189283/MuscleCard/Changes.xhtml
(XHTML, but at least Opera and Mozilla can it.)
Karsten
Thanks,
Dave
_______________________________________________
Muscle mailing list
[email protected]
http://lists.drizzle.com/mailman/listinfo/muscle
_______________________________________________
Muscle mailing list
[email protected]
http://lists.drizzle.com/mailman/listinfo/muscle
_______________________________________________
Muscle mailing list
[email protected]
http://lists.drizzle.com/mailman/listinfo/muscle
_______________________________________________
Muscle mailing list
[email protected]
http://lists.drizzle.com/mailman/listinfo/muscle