Management of signature keys for government

Markus Kuhn Markus.Kuhn at cl.cam.ac.uk
Sun, 01 Mar 1998 10:53:39 +0000


Thomas Womack wrote on 1998-02-27 23:36 UTC:
> >Now since even the best RSA smartcards take 30 seconds plus to
> >generate a keypair, while a standard card personalisation line handles
> >several cards a second, bank customer keys are generated externally
> >and injected into the cards.
> 
> Why isn't pipelining possible here? Set up the cards, attach power pack,
> send the 'generate your key' instruction, continue to the next processing
> phase, wait 30 seconds, remove power pack.

It is naive to assume that key generation inside the card adds you
any security over external key generation in the card personalization
machine.

The card personalization lines are usually the places where not only the
keys are generated but also where the smartcard operating system is uploaded
using the smartcard's boot ROM. If you trust the key-generation software
inside a smartcard, then you also have to trust the entire system involved
in the EEPROM upload of this software, as there you can tamper with the key
generation at any place as well. Even if the key is generated inside
the smartcard, there could be a weak key generator have been used in the
card or the card software could have been tampered to leak the key after
generation. Smartcard operating systems allow EEPROM overwrites of
software, therefore evidence of such manipulation could even be removed
by overwriting the relevant code with a more secure one after key
generation. I hope this makes clear that in-card key generation does not
make it unnecessary to include the personalization facilities into the
trusted computing base.

It is more important that the personalization facility is kept under tight
security and that the personalization line does not have any mass storage
devices that theoretically could store generated keys then to have in-card
key generation during personalization.

Some new digital signature legislations prohibit signature key escrow
explicitly. For example the German signature law (SigG) and the regulations
associated with them (all available from <http://www.bsi.bund.de/> in
German) explicitly require that all signature keys be either generated
by the user or are generated by the CA on behalf of the user IF THEY ARE
GUARANTEED TO BE IMMEDIATELY DESTROYED AFTER BEING HANDED OVER TO THE USER.
So if in Germany keys are for performance and quality control reasons
(smartcard random number generators are notoriously bad) generated
by a CA, this has to be done inside a certified tamper-resistant card
terminal at the CA that prevents any possible leakage of the secret
keys.

If a UK digital signature system involves any even indirect potential
escrow of signature keys anywhere in the pipeline, then this could mean
that the British signatures would not be accepted under e.g. the German
SigG. A digital signature system designed today should be designed with
later European harmonisation in mind, which hopefully means that only
the more paranoid system designs stand a chance of survival.

Markus

-- 
Markus G. Kuhn, Security Group, Computer Lab, Cambridge University, UK
email: mkuhn at acm.org,  home page: <http://www.cl.cam.ac.uk/~mgk25/>