Just last week a new example of the consequences of inadequately protected signature keys came to light. As reported in Network World , Kaspersky Lab discovered that a recently distributed Trojan, Mediyes, was digitally signed using a stolen private signature key whose digital certificate was owned by Swiss firm Conpavi AG.
The Network World story notes how digitally signed code is assessed more favorably by anti-virus vendors from a risk perspective, so stealing the key and creating a perfectly valid signature on the code helps further promulgate the nefarious Trojan before it can be detected.
Whenever evidence surfaces such as this, we worry that people will incorrectly assume that the concepts of digital signatures and key management are flawed. The problem is not the concept; the problem is that those responsible for the keys and the digital signature process are not following standards of due care. If the keys are not afforded proper protection, it's easy to find them, steal them and create “valid” signatures over maliciously modified code.
Among the standards of due care we discuss at Thales, we advise companies never to allow anyone to come into possession of the full plain text of a private or secret key. While the circumstances in this situation are still to become clear, the private key was indeed somehow compromised, which means someone was able to access it in full plain text.
While not listed as a standard of due care, best practice suggests keys should be protected in high assurance hardware-- not software-- since it's an absolute failsafe way to ensure the keys are not exposed outside the protected boundary of a certified, tamper-proof device. The lesson learned here, once the dust has settled, is to ensure that keys involved in code signing are protected in dedicated hardware as opposed to being stored on more vulnerable host computers.