Management of signature keys for government
Ross Anderson
Ross.Anderson at cl.cam.ac.uk
Mon, 02 Mar 1998 09:04:08 +0000
There are practical ways of reducing the risk of bad-institution
attacks, and banks do understand them. After all, with 20,000 banks in
the global card payment system, you expect several hundred of them to
be owned by criminal gangs at any one time.
When I helped design the precursor of VISA's COPAC system what we did
was have interbank key material (e.g. VISA's keys) loaded at the
factory, together with the EEPROM application. The device was then
tested and the security bit set; the hologram is added next, after
which some fairly heavy physical security procedures kick in.
When the cards get to the bank, the rest of the security printing gets
done. The cards are then personalised, either in a batch process or by
a teller transaction. In either case, with the old DES based cards the
effect was to load the bank's key material for that customer. The
point is that neither the bank nor VISA knows all the customer's keys.
So if you switched from RSA to DSA and thus had a key generation time
of 1/2 sec rather than 30 sec, then given a trustworthy terminal in
the bank the customer can generate an initial signing key which can't
be reconstructed unless both the bank and VISA cheat. Add tamper
resistant boxes at both these places, add lots of audit, and ensure
that if they do cheat they can acquire stupendous liabilities.
Experience shows that you can just about make this work.
It's not perfect, and you'll have the devil's own job dealing with
`phantom withdrawals' when (say) carelessness at VISA is spotted and
exploited by a programmer at a bank. The way to deal with this is in
my view the line currently being advocated in the EU, namely a
directive that a sworn statement by a customer will have equal force
to a claim by a bank that its systems are secure. (HMG is of course
going in the other direction by abolishing section 69 of the Police
and Criminal Evidence Act, which will mean that people framed by GCHQ
using escrowed copies of signature keys will have a hard time getting
independent experts to examine the system. Hopefully the EU will
frustrate this evil in one way or another.)
You might conceivably make things work better by letting the customer
bootstrap other keys for different applications in a variety of ways
(card interaction with home PC, with M and S's eftpos terminal, with
electricity meter, ...) and then verify the customer using available
back channels (print your key fingerprint on your shop receipts). But
there are substantial business problems here, such as `whose logo goes
on the front?' These have killed all multi-function smartcard schemes
so far and hopefully they'll also kill Mr Clark's obnoxious little
scheme.
The moral I suppose is that with even a small amount of care in the
design process, you can do things a damn sight better than MasterCard
- or GCHQ either for that matter :-)
Ross