PKI is a technology that has stood the test of time, but it is let down by high running costs and poor implementation.
My first exposure to PKI was in 1993, when working on the Password research project.
Aside: One of the interesting elements of Password, was the collaboration between research institutes in the UK, France and Germany – at a time when the legality of exporting cryptography (and in the case of France, importing) was questionable, which made the project demonstrations in Sophia Antipolis ‘interesting’. The import/export problem seemed to have gone away, until added firmly back on the agenda by David Cameron recently.
In Password, I operated the UK Root CA, which was cross-certified with the French and German Root CAs. A few years later, EEMA ran a PKI pilot. Again I ran the UK node cross certified with many other CAs to enable a worldwide pilot of S/MIME technology (See S/MIME on Trial for a tale of my experiences). These projects were technical in nature, the focus was making the technology work and interoperate – which was successful in both cases.
Over the years since then, PKI and my career path seem to keep crossing. Each time the technology is largely the same (secure generation and storage of private keys has evolved a long way), but each time I revisit PKI the world seems to have become more complex:
- Key signing ceremonies (something we did not worry about in the 1990’s pilots), now consume many man days of effort, with heavily documented and audited processes;
- Complex disaster recovery mechanisms to maintain access to private keys stored on hardware devices;
- Pages and pages of documentation describing the certificate policy, and the certificate practice statements;
- (Audited and) fully documented processes for the full certificate lifecycle;
- Highly secured infrastructures (physical and logical) to protect the CA and key generation capability.
This is all absolutely necessary to ensure the integrity of the PKI system. Over the years we have seen many PKI failings – all down to poor process and not a PKI technology failure (I distinguish between a fundamental failing of X.509 – the technical standard, and a poor implementation of the standard. I contend a poor implementation is a failure of a software / hardware quality assurance process).
The impact is PKI is expensive to run.
My recent PKI experience has been to audit PKI systems for a number of different customers – validating the bullet points above are all as they should be. The eye opener for me has been more than one client commenting that if they had understood the implementation costs and running costs at the project outset, they would probably have chosen a different path. Not a good outcome.
As we all know, security is all about the combination of people / products and process. The process element is a vital and often under invested element. Sadly in my recent experience of PKI it is a very costly element.
I don’t have any answers to offer, but there has to be a better way. I’d be very interested in any suggestions from CyberMatters readers.